python面向对象编程类的成员总结
类、对象的三大成员之一字段,静态字段,动态字段
1、静态字段与普通字段的区别,静态字段属于类,普通字段属于有类生成的对象,
2、在内存中的存储方式也不一样,静态字段在内存中存储一份,普通字段每个对象存储一份
应用场景:
通过类创建对象时,如果每个对象都具有相同的字段,那么就使用静态字段
反之应用普通字段
二、类对象的第二大成员方法
1 class person(object): 2 def __init__(self,name):#构造方法 3 self.Name=name 4 def eating(self):#普通方法 5 print '%s吃东西'%self.Name 6 @staticmethod 7 def zoulu():#静态方法没有self 8 print '直立行走' 9 @classmethod 10 def shuijiao(cls):#类方法,有隐含参数cls 11 print '睡觉' 12 p1=person('zhangyan')#生成类对象 13 p1.eating()#普通方法的调用 14 person.zoulu() #静态方法的调用 15 person.shuijiao()#类方法的调用
第一、构造方法在类实例化的时候自动调用
第二、普通方法在类实例化生成对象以后通过对象调用
第三、静态方法,是所有类对象共用的方法,不需要self参数,通过@staticmethod来实现呢,通过类名.方法名()调用
第四、类方法,不需要self参数,通过装饰器@classmethod来实现,有隐含参数cls,通过类名.方法名()调用
在类里面定义的函数就是方法,类方法需要@ classmethod 修饰并且有个隐藏参数 cls,
实例方法必须有个参数 self,
静态方法必须有 @staticmethod修饰,
类和实例都可以访问静态方法,
实例可以访问实例方法也可以访问类方法,
类可以访问类方法也可以访问实例方法,访问实例方法必须要带参数 self,
可以理解为类其实也是一个实例,类访问实例方法不带参数会报错的.类本身可以访问函数,实例却不行.?????