python同名函数相互冲突_两个函数同名python

你不能这么做。至少,不在同一个命名空间中(即:同一个模块或同一个类)。似乎您正在尝试用一种语言来做您所学的东西,并试图将其应用于python。在

相反,您可以让Add接受可变数量的参数,这样您就可以根据传入的内容执行不同的操作。在def Add(self, *args):

if len(args) == 1:

item = args[0]

self.cards.insert(0, item)

elif len(args) == 2):

listCards, numCards = args

for i in numCards:

card = listCards.GetCard(i)

self.cards.insert(0, card)

我个人认为最好有两个函数,因为这样可以避免歧义和提高可读性。例如,AddCard和{}。在

或者,也许更好的是,你可以用一个函数来处理任意数量的卡片。例如,您可以定义Add来获取一个卡片列表,然后将它们全部相加:

^{pr2}$

然后,用一张卡打电话:self.Add(listCards.GetCard(0))

。。。或者,卡片列表:list_of_cards = [listCards.GetCard(i) for i in range(len(listCards))]

self.Add(*list_of_cards)

您似乎要求执行的操作称为函数重载,这不是Python支持的。有关python中函数重载的更多信息,请参阅以下问题:Python function overloading

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值