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,

可以理解为类其实也是一个实例,类访问实例方法不带参数会报错的.类本身可以访问函数,实例却不行.?????

 

 

 

 

 

posted @ 2017-11-13 16:35  自动化前行者  阅读(221)  评论(0编辑  收藏  举报