python类定义格式:
class ClassName:
...类属性定义
...类方法定义
下面是个简单的例子,类方法中必须有"self"参数,表示方法是类实例的方法。
class MyClass:
i = 12
def f(self):
return "hello"
self不是关键字,只是表示第一个参数,换成别的名称也是可以的(通常还是书写为self程序可读性更好):
class MyClass:
i = 12
def f(jianshu):
return "hello"
形如__init__(self, param1,...)的方法是构造方法,除了self外可以有0到多个参数。构造方法如下所示:
class People:
name =''
age =0
__weight =0
def __init__(self, name, age, weight):
self.name = name
self.age = age
self.__weight = weight
def speak(self):
print("{0} say: I'm {1} year old, and I {2} weight".format(self.name, self.age, self.__weight))
__weight是私有属性,类外部无法直接访问。
p = People("jianshu", 10, 120)
p.speak()
print(p.age)
print(p.name)
print(p.__weight)//错误
python私有方法也是类似定义:
def __myMethod(self):
......
声明静态方法:
class MyClass:
@staticmethod
def static_method(arg1, arg2,...):
pass
参数可以为空
析构函数
def __del__(self):
pass