情况一:
class A:
def init(self):
pass
def setname(self,who):
self.name=who
object_a=A()
print(object_a.name)
此时会报错, ‘A’ object has no attribute ‘name’,类对象A没有属性“name”
情况二:
class A:
def init(self):
pass
def setname(self,who):
self.name=who
object_a=A()
object_a=A()
object_a.setname(“bob”)
print(object_a.name)
当调用setname方法时,类A会把属性“name”附加到实例之上
情况三:
class A:
def init(self):
self.name=“abc”
def setname(self,who):
self.name=who
object_a=A()
print(object_a.name)
此时不报错,因为 object_a=A()语句会调用__init__()函数
还可以通过这种方式添加实例属性:
object_a=A()
object_a.age=25
print(object_a.age)
注意:
object_a=A()
object_a.__age=25
print(object_a.__age)
通过这种方式添加的__age属性并不是私有属性
python为类实例添加属性的方法与C++很不同
python之类实例属性
最新推荐文章于 2024-05-25 00:41:18 发布