普通方法:

私有方法:

属性方法:

特殊方法:

类方法:

静态方法:

 

  • 普通方法:直接用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访问类属性
#    静态方法,不可以访问,通过传值的方式 

 

  

posted on 2019-03-25 20:09  流云封心  阅读(553)  评论(0)    收藏  举报