我是Python开发的新手,我看到的代码对我来说似乎太复杂了。实际代码
def somefunction():
return 5+3
当我调用该函数时,它将答案返回为8
...
我在互联网上看到的代码方法:
def somefunction():
return( somefunction(5+3))
当我调用此函数时,它给了我一个错误,如TypeError: somename() takes 0 positional arguments but 1 was given
我对第二种方法感到有点困惑;可以这样做吗?在这种情况下,我们在第二种方法中使用该函数......
答案 0 :(得分:3)
第二个例子使用递归。问题在于函数:
def somefunction():
return somefunction(5+3)
我们正在进行somefunction(5+3)
,这意味着我们希望somefunction
获取参数(通过提供5+3
的参数),而不是def somefunction(a): # a is a parameter
return somefunction(5+3)
。因此给出了错误。
这可以通过给出参数定义来解决:
a
但请注意:
5 + 3
并返回def add_three(number):
return number + 3
)。<强>更新强>
根据OP请求。
{{1}}