python多构造_如何在python中实现多个构造函数?

在python中,不可能不止一次地定义init函数,因为知道了该语言的工作原理,这是相当公平的。当创建一个对象时,会调用init,因此,拥有其中两个对象将产生不确定性。然而,在某些设计中,这种特性是可取的。例如:class Triangle(object):

def __init__(self,vertices):

self.v1 = vertices[0]

self.v2 = vertices[1]

self.v3 = vertices[2]

def area(self):

# calculate the are using vertices

...

return result

class Triangle(object):

def __init__(self,sides):

self.v1 = sides[0]

self.v2 = sides[1]

self.v3 = sides[2]

def area(self):

# calculate the are using sides

...

return result

在这种情况下,我们有相同数量的属性要初始化,而且它们是相互关联的,因此从一个属性中,您可以获得其他。对,在这个具体的例子中,我们可以处理这样一个事实:顶点是元组,而边可能是浮点数(或字符串或其他东西),但当然情况并非总是如此。在

一种可能的解决方案是将初始化过程委托给其他功能,如:

^{pr2}$

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值