三种方法访问两种属性
实例方法,类方法,静态方法如何访问类属性与实例属性
类属性与实例属性本身的访问方式
类属性可以用类访问,也可以用实例访问,实例中没有,会去找类中的属性
实例属性只能用实例自己去访问
class Person:
# 类属性
age = 18
# 实例方法
def eat(self):
print("实例方法吃")
@classmethod
def walk(cls):
print("类方法走")
@staticmethod
def sleep():
print("静态方法睡觉")
p = Person()
# 实例属性
p.name = "张三"
print(Person.age)
print(p.age)
print(p.name)
方法如何访问实例属性与类属性
class Person:
# 类属性
age = 18
# 实例方法
def eat(self):
print("实例方法吃")
# 实例方法有实例,实例可以反问类属性与实例属性
print(self.age)
print(self.name)
@classmethod
def walk(cls):
print("类方法走")
# 类方法只有类,只能访问类属性
print(cls.age)
# 这个类没有的属性就会报错
print(cls.name)
@staticmethod
def sleep():
# 一般设计的静态方法都不用类或者实例属性如果实在想访问
# 可以直接Person.age啊
print("静态方法睡觉")
p = Person()
p.name = "张三"
p.eat()
Person.walk()
综上,就用代码演示了三种方法分别如何访问两种属性