python的类中属性的理解

python是一个动态语言,因此可以根据类创建的实例任意绑定属性。
给实例绑定属性的方法:
1、通过实例变量
2、通过self变量

class People(object):
country = 'china' # 类属性

print(People.country) #china
p = People()
print(p.country) #china
p.country = 'japan'
print(p.country) # 实例属性会屏蔽掉同名的类属性,因此是japan
print(People.country) #china
del p.country # 删除实例属性
print(p.country) #实例属性被删除后,再调用同名称的属性,会调用类属性:china

类中属性方法的理解:

单引号下划线: _var    #以单个下划线开头的变量或方法提醒程序员是供内部使用的,但是外部也是可以访问的

双领先下划线: __var #python解释器会重写这个属性名,变成:_class名__var,以避免子类中的命名冲突,只允许在类中访问,对象也访问不了这个属性(对象中的这个属性名变了
变成:_class名__var)。
领先和落后双下划线: __var__  #表示由Python语言定义的特殊方法,避免为自己定义属性使用此命名方案。

 





posted @ 2020-06-11 09:25  一日学一日功  阅读(364)  评论(0编辑  收藏  举报