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 未命名

直接打印类变量没问题,打印类方法会报错

我的理解是类变量会有一个默认值,是可以直接使用的;而类方法是抽象出来的一个方法,可是实例成成千上万个实例,直接使用类方法,不知道具体可以实例成什么样子,需要实例后在调用方法。