|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 那辰 于 2017-3-13 22:43 编辑
如图所示, def __add__(self,other) 为某一魔法函数标准格式,其中 self 指实例化对象本身,other 指另一个实例化对象本身.通过图中代码,可以将c1和c2两个实例化的手机价格相加 并返回 加数与被加数的和.
class CellPhone: # 定义一个手机类的模板,包括品牌(brand)和价格(price)
def __init__(self, brand, price=0.0):
self.brand = brand
elf.price = price
def __add__(self, other): # 魔法函数,self 指实例化对象本身,other 指另一个实例化对象本身.
return self.price + other.price # 将实例化对象的价格求和,得到两个品牌手机价格的和.
c1 = CellPhone('iPhone 7', 7900.0) # 实例化对象1
c2 = CellPhone('MI note 2', 2499.0) # 实例化对象2
c3 = CellPhone('Nokia', 499.0) # 实例化对象3
print(c1+c2) #求iPhone 7 和 小米note2 两个品牌手机的和,这里会调用魔法函数__add__(self,other)
...10399.0 #返回结果(加数与被加数的和)
问题是,我是否可以在__add__(self,other)形参位置通过加上 *args 使得该函数可以对多个实例化对象的(手机)价格进行相加?比如再加上c3 (即,c1+c2+c3). |
|