class Person():
# 类变量
name = '未命名'
age = 0
hometown = '未填写'
# 类方法
def get_name(self,name):
# 实例变量
self.name = name
print(Person.name) # 打印类变量 未命名
p = Person() # 实例化类
p.get_name('san') # 实例化类后,调用类方法get_name(),不会报错,更改了person 类的names属性值为san
print(p.name) # 打印类变量 san
Person.get_name() # 直接打印类方法会报错,需要实例化后在调用方法
Person.get_name() # 添加装饰器后,可以打印出name 未命名
直接打印类变量没问题,打印类方法会报错
我的理解是类变量会有一个默认值,是可以直接使用的;而类方法是抽象出来的一个方法,可是实例成成千上万个实例,直接使用类方法,不知道具体可以实例成什么样子,需要实例后在调用方法。