python类函数定义
A. python如何在类外定义成员函数
类的外面可以抄定类的属性值。按理也可以定义类外定义函数。一定可以。比如
class a:
pass
def hello(self,name):
print "Hello %s"%name
a.hello=hello
a().hello("somebody")
这个代码测试通过。
B. python中的类定义
C++的事先规划数据和函数,其中实例数据部分,其实是在构造函数执行时执行,同理版,你也可以把你权的python的实例数据构造放在python的类构造函数__init__函数的最开始那部分,这样就比较清晰了.其执行也接近C++的类定义。至于其它的类对象成员数据属性也可以集中放置在类的最开始.类实例函数本身就比较清晰,静态函数也可以集中处理。
C. python中的函数参数为自定义类对象,如何强
函数参数有直接变量(如int、char、double等)类型、指针类型和引用类型。
如果参数是变量,传递方内式容是传值,就是将实参的值复制(复制,意味着空间消耗和时间消耗)到“栈”空间中。
如果参数是指针,传递方式是传址,需将指针复制(同样也消耗空间和时间,对于数组而言,只需存储数组首地址)到“栈”空间中。
如果是引用,则既不是传值,也不是传址,主调函数和被调函数共享参数的存放地址,与全局变量共享方式相同。
对于拷贝(复制)构造函数而言,类对象通常需要较多的存储空间,如果按值传递,必然会较大消耗“栈”空间,也需要较多的时间实施复制过程。因为复制构造函数不会修改参数的内容,也不会修改参数的属性,所以构造函数的参数应该是常量引用传递,如
ClassName(const ClassName &obj)
D. python 类的定义
首先初始化时确定是否接收一个parent参数(这个参数名没什么意义,想怎么取怎么取)
如果没有在这个Icon类初始化的时候同时给参数,那么parent就为None,因为继承了QtGui.QWidget类,所以在初始化的时候,先调用QtGui.QWidget.__init__(self, parent)这个QtGui.QWidget的初始化方法,这个parent参数是QtGui.QWidget需要的吧
E. python中如何定义类
一、类定义:
class <类名>:
<语句>
类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性
如果直接使用类名修改其属性,那么将直接影响到已经实例化的对象
类的私有属性:
__private_attrs两个下划线开头,声明该属性为私有,不能在类地外部被使用或直接访问
在类内部的方法中使用时self.__private_attrs
类的方法
在类地内部,使用def关键字可以为类定义一个方法,与一般函数定义不同,类方法必须包含参数self,且为第一个参数
私有的类方法
__private_method两个下划线开头,声明该方法为私有方法,不能在类地外部调用
在类的内部调用slef.__private_methods
类的专有方法:
__init__构造函数,在生成对象时调用
__del__析构函数,释放对象时使用
__repr__打印,转换
__setitem__按照索引赋值
__getitem__按照索引获取值
__len__获得长度
__cmp__比较运算
__call__函数调用
__add__加运算
__sub__减运算
__mul__乘运算
__div__除运算
__mod__求余运算
__pow__称方
示例:
[python]view plain
#类定义
classpeople:
F. Python如何调用自定义类中的函数
定义一个函数只给了函数一个名称,指定了函数里包含的参数,和代码块结构。版这个函数的基本结构完成权以后,你可以通过另一个函数调用执行,也可以直接从Python提示符执行。
如下实例调用了printme()函数:
复制代码 代码如下:#!/usr/bin/python
# Function definition is here
def printme( str ):
"打印任何传入的字符串"
print str;
return;
# Now you can call printme function
printme("我要调用用户自定义函数!");
printme("再次调用同一函数");
#以上实例输出结果:
#我要调用用户自定义函数!
#再次调用同一函数
G. python在定义类的时候,如何把类函数传递给另一个变量,如下
别在类的定义时将类名赋值,调用时才可以。
class fun:
print "hi,world"
def __init__(self, params):
fun2 = fun
fun2
如果想用switch,python中惯用字典来实现d = {key1:value1,key2:value2},通过判断内d[key1]的值,来选择分支。容