class Animal(object):#类对象
age = 0 # 公有类属性
__like = None # 私有类属性
def __init__(self): # 魔法方法
self.name = 'haha' # 公有实例属性
self.__sex = 'man' # 私有实例属性
def smile(self): # 公有方法 self指向实例对象
pass
def __jump(self): # 私有方法
pass
@classmethod
def run(cls): # 类方法 cls 指向类对象
pass
@staticmethod
def msg(): # 静态方法,可以没有参数
pass #类对象:
将具有相似属性和方法的对象总结抽象为类对象,可以定义相似的一些属性和方法,不同的实例对象去引用类对象的属性和方法,能减少代码的重复率。
#类属性:
类对象所有的属性,类对象和实例对象均可以访问,被它们共同拥有;
#公有类属性:
可以在类外修改类属性,需要通过类对象引用直接修改;
。类内可以通过类方法修改类属性
如果通过实例对象来引用类属性,相当于实例对象在实例方法中创建了一个和类属性相同的名字,等同于局部变量实例属性,和类属性无关;
#私有类属性:
类外通过类对象引用不能直接更改,只能通过实例方法调用类对象更改。
#类方法:
需要修饰器@classmethod,标示其为类方法,类方法的第一个参数必须为类对象,一般用CLS表示,通过CLS引用的必须是类属性和类方法。
#静态方法:
。需要修饰器@staticmethod,标示其为静态方法需要做一些功能,和类相关,但不需要类和对象参与,此时可以使用静态方法,静态方法可以不需要参数。
#实例对象:
通过类对象创建的实例对象
#实例属性:
通过方法定义的属性
#私有实例属性:
__开头定义的变量名;只能通过方法调用来更改公有
实例属性:
可以通过实例对象重新定义
#实例方法:
第一个参数公认为自我,可以调用类对象和实例对象。
#私有方法:
。只能在类内调用,如果类外调用,则需要类内的公有方法调用类内的私有方法,在类外调用这个公有方法,间接则调用了私有方法
一个程序中最核心的内容,不能随意调用,可以设置为私有方法,通过公有方法的判断去调用私有方法!
#公有方法:
可以在类内类外随意调用。
#魔法方法:
例如初始化方法,用两个__前后包裹的方法