Python: 类型错误:需要1个参数(给了2个)

5 投票
1 回答
26184 浏览
提问于 2025-04-16 10:17

我现在正在使用singpath.com来练习我的Python,但我遇到了一个问题:

我期望的结果是:

>>>CurryPuff(3) 
3.60 
>>>CurryPuff(3,'Fish') 
4.2

这是我尝试过的:

def CurryPuff(x,typePuff):

   if(typePuff==''):

      return x*1.2

   if(typePuff=='Fish'):

      return x*1.4

但是它给了我这个错误:

TypeError: CurryPuff() takes exactly 2 arguments (1 given)

我试着在网上搜索这个问题,但我不太确定该用什么关键词,所以希望能在这里得到帮助。

谢谢。

1 个回答

16

如果一个函数需要两个参数,但你只给了一个,就会出问题,比如CurryPuff()这个函数。不过,你可以设置一个默认参数,这样如果没有传入参数,它就会使用这个默认值:

def CurryPuff(x, typePuff=None):
    if typePuff is None:
       # and so on...

你可以为任何参数设置任何值作为默认值。只有在定义了默认值的情况下,你才能省略某些参数。

撰写回答