一.类的构成
类主要由类属性和类方法构成:
一.类属性
类属性分为公有属性、私有属性以及实例属性
1、类属性(公有属性(静态字段):
类定义时直接指定的属性(不是在__init__方法中),可以通过类名直接访问属性,并且保存在类的内存中,如果一个属性都有共同值就可以设置为公有属性。
2、实例属性:
在__init__方法中添加的属性,就是实例属性。实例属性保存在对象的内存中。
3、私有属性:
在__init__方法中直接定义的属性,其他地方看不到他,对外不可见,对内可见。
class dog:
food='狗粮'#公有属性
def __init__(self,sty='无名氏',age=0, col='未知',hun='hun'):
self.sty= sty
self.age=age
self.col=col
self.hun=hun#实例属性
self.we='1234'#私有属性
二.类方法
1、实例方法(对象方法):
实例方法至少有一个参数,默认该参数的名字为“self”(也可以是其他的),若有其他参数,可以跟在该参数后面,在调用时可以通过1、实例对象 2、类名称调用(两种调用方式 )
2、类方法
类方法要使用装饰器@classmethod来修饰,一般情况,第一参数默认命名为cls(cls=class,可以是别的名字),他一般也有两种调用方式,即:1、类的名称调用2、使用实例调用
3、静态方法
静态函数通过装饰器@staticmethod修饰,两种调用方法:1、实例调用2、类名称调用
关键区别:
- 实例方法(对象方法):随着实例属性的改变而改变
- 类方法:类属性的值,不随实例属性的变化而变化
- 静态方法:不可以访问类属性,直接输出传入方法的值