数据成员可以大致分为两类:属于对象的数据成员和属于类的数据成员。
1)属于对象的数据成员一般在构造方法__init__()中定义,当然也可以在其他成员方法中定义,在定义和在实例方法中访问数据成员时以self作为前缀面向对象和面向过程的区别,同一个类的不同对象(实例)的数据成员之间互不影响;
class Person:
def __init__(self,name,birth):
self.name = name # 实例变量,对象里的变量(对象.属性)
self.birth = birth
p = Person('bob','1900')
print(p.name)
print(p.birth)
p.birth = 1937
print(p.birth)
以下为程序执行结果:
bob
1900
1937
2)属于类的数据成员是该类所有对象共享的,不属于任何一个对象面向对象和面向过程的区别,在定义类时这类数据成员一般不在任何一个成员方法的定义中。
class Person:
country = '中国'
def __init__(self,name,birth):
self.name = name
self.birth = birth
p = Person('bob',1937)
p2 = Person('jack',2000)
print(p.country)
print(p2.country)
p.country = '法国'
print(p.country)
print(p2.country)
Person.country = '美国' # 类变量最好是使用类名来访问
print(p.country) # 类变量可以给对象使用
print(p2.country)
以下为程序执行结果:
中国
中国
法国
中国
法国
美国
———END———
限 时 特 惠:本站每日持续更新海量各大内部创业教程,一年会员只需128元,全站资源免费下载点击查看详情
站 长 微 信:jiumai99
声明:本站内容转载于网络,版权归原作者所有,仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。本站仅保存近一年的最新资源,过期资源将不在保留。若本站内容侵犯了原著者的合法权益,可联系我们进行处理。本站仅作项目分享,不提供任何收益保障,风险自辩,不对操作项目的收益及损失负责.站长不是项目作者,不负责项目解答