在python中,类属性和实例属性的区别是什么?

我认为是作用域的不同,实例对象可以访问类属性,类对象不可以访问实例属性。(类的概念本身就是作用域的概念,你不能让一只猫会飞,猫属于猫类,这一类都不会飞。所以“飞”这种方法,猫类不具有)

比如:

class People(object):
    name = 'Tom'  # 公有的类属性

    __age = 12  # 私有的类属性
    #  实例属性
    def __init__(self,height):
        self.height = height

p = People("183cm")

print(p.name)  # 正确,实例对象可以访问类属性

print(People.name)  # 正确,类对象可以访问类属性

print(People.height)  #  错误,类对象不能访问实例属性

 

相关文章:

  • 2021-12-19
  • 2022-12-23
  • 2021-11-30
  • 2021-11-14
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-12-09
  • 2021-12-09
  • 2021-05-13
相关资源
相似解决方案