普通方法:
私有方法:
属性方法:
特殊方法:
类方法:
静态方法:
- 普通方法:直接用self调用的方法。
- 私有方法:__函数名,只能在类中被调用的方法。
- 属性方法:@property,将方法伪装成为属性,让代码看起来更合理。
- 特殊方法(双下划线方法):以__init__为例,是用来封装实例化对象的属性,只要是实例化对象就一定会执行__init方法,如果对象子类中没有则会寻找父类(超类),如果父类(超类)也没有,则直接继承object(python 3.x)类,执行类中的__init__方法。
- 类方法:通过类名的调用去操作公共模板中的属性和方法。
- 静态方法:不用传入类空间、对象的方法, 作用是保证代码的一致性,规范性,可以完全独立类外的一个方法,但是为了代码的一致性统一的放到某个模块(py文件)中。
这几个暂时不太理解,记例子吧.
__metaclass__ = type class Tst: name = 'tst' data = 'this is data' # 普通方法 def normalMethod(self, name): print self.data, name # 类方法,可以访问类属性 @classmethod def classMethod(cls, name): print cls.data, name # 静态方法,不可以访问类属性 @staticmethod def staticMethod(name): print name #三种方法都可以通过实例来调用,但是静态方法和类方法无法访问实例属性 #普通方法不能通过类名调用,但是静态方法和类方法是可以的 #小结:普通方法,可以通过self访问实例属性 # 类方法,可以通过cls访问类属性 # 静态方法,不可以访问,通过传值的方式
浙公网安备 33010602011771号