首页 > 其他 > 详细

类属性和实例属性

时间:2019-03-01 15:50:05      阅读:188      评论:0      收藏:0      [点我收藏+]

类属性:直接在class中 定义属性,通过类或者实例名称都可以访问,所有实例都可以共享。

实例属性:通过self绑定属性,或者通过实例名动态添加属性。

使用中,实例属性和类属性最好不要同名,不然会出现意想不到的问题。

class People():
    nationality="chinese"    #类属性
    def __init__(self,nationality):
        self.nationality = nationality   #实例属性


p1=People("usa") 
p1.name="wanggang"               #实例1动态添加属性
print p1.nationality             #通过实例名访问
print People.nationality         #通过实例名访问

p1.nationality  ="japanise"
print p1.nationality             #通过实例名访问
print People.nationality         #通过实例名访问

del p1.nationality               
print People.nationality         #通过实例名访问
#结果
usa  #实例1属性,实例属性优先于类属性
chinese #类属性
japanise #修改实例1属性,
chinese  #类属性不会修改
chinese  #删除实例属性后,使用类属性

 

类属性和实例属性

原文:https://www.cnblogs.com/josie-xu/p/10456538.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!