python中的实例属性和类属性

在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)  #  错误,类对象不能访问实例属性
复制代码

 

posted @   年轻人——001  阅读(1721)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示