- 类属性: 类体中、所有函数之外:此范围定义的变量,称为类属性或类变量;
- 静态属性
- 实例属性: 类体中,所以函数内部:以“self.变量名”的方式定义的变量,称为实例属性或实例变量;
- 类方法:
# 类方法
class Learn:
@classmethod
def say(cls):
print('调用类方法')
if __name__ == '__main__':
# 调用类方法
Learn.say()
- 静态方法:
# 静态方法
class Learn:
@staticmethod
def static(name, age):
print('调用静态方法')
print('他叫%s,今年%s' % (name, age))
if __name__ == '__main__':
# 调用静态方法
Learn.static('张三','23')
- 实例方法:
class Learn:
# 实例方法
def run(self):
print('调用实例方法')
print('他的名字叫%s,他今年%s岁了' % (self.name, self.age))
if __name__ == '__main__':
A = Learn()
# 调用实例方法
A.run()
@classmethod 类方法装饰器:
原则上,类方法是将类本身作为对象进行操作的方法。假设有个方法,且这个方法在逻辑上采用类本身作为对象来调用更合理,那么这个方法就可以定义为类方法。另外,如果需要继承,也可以定义为类方法。
@staticmethod 静态方法装饰器:
静态方法是类中的函数,不需要实例。静态方法主要是用来存放逻辑性的代码,逻辑上属于类,但是和类本身没有关系,也就是说在静态方法中,不会涉及到类中的属性和方法的操作。可以理解为,静态方法是个独立的、单纯的函数,它仅仅托管于某个类的名称空间中,便于使用和维护。