Python: 类型错误:需要1个参数(给了2个)
我现在正在使用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...
你可以为任何参数设置任何值作为默认值。只有在定义了默认值的情况下,你才能省略某些参数。