python3 类属性,类方法,静态方法

107 阅读1分钟
# 类属性
# 可以通过类或者对象访问

# 类方法
# 在方法定义的时候使用@classmethod修饰

# 静态方法
# 在方法定义的时候使用@staticmethod修饰

class Person:
    age = 100
    @classmethod
    def show(cls):
        print("Perosn age is %d" % cls.age)

    @staticmethod
    def show1():
        print("staticmethod " )


print(Person.age)  # 100

xiaoming = Person()
print(xiaoming.age)  # 100 此时只有类属性age
xiaoming.age = 200  # 此时,对象有age属性
print(xiaoming.age)  # 200 ,此时获取的是对象的属性age

print(Person.age)  # 100 类属性还是原来的值

# 调用类方法
Person.show()  # Perosn age is 100


# 静态方法 可以是类和对象调用
Person.show1()
Person().show1()