class Phone(): def call(self): print("phone",self.price) phone1 = Phone() phone1.price = 1000 phone1.call() phone2 = Phone() phone2.call()
这样,在call方法里,无法保证每个对象都有price这个属性,会报错 AttributeError: ‘Phone‘ object has no attribute ‘price‘
这时就用到__init__(),让每一个对象都有这些属性
class Phone(): def __init__(self): self.brand = "xiaomi" self.price = 2999 def call(self): print("phone",self.price) phone1 = Phone() phone1.price = 1000 phone1.call() phone2 = Phone() phone2.call()
phone 1000
phone 2999
在执行 phone1 = Phone()时会有4步:
画图理解为:
原文:https://www.cnblogs.com/gaona666/p/12558205.html