为什么 def function(str(n)) 是无效语法? - python

Why is def function(str(n)) an invalid syntax? - python

任务是定义一个将数字的所有数字相加的函数。首先,我必须将输入 (int) 转换为字符串。然后我将每个字符串放入一个列表中,然后将它们全部加在一起。但我无法克服这个问题:

def digit(str(n)):
     # the rest of the code

没有看到这个:

SyntaxError: invalid syntax

你不能直接在这样的参数上应用函数。如果你想这样做,你应该在函数体中进行:

def digit(n):
    n = str(n)
    # the rest of the code

问题是在python中你不能写def digit(str(n)):

您需要将str(n)从定义中取出并放入主代码中。这应该可以解决问题:

def digit(n):
    n = str(n)
    # the rest of the code

这是无效的语法,因为您应该在那里定义原型,而不是代码。

原型是函数的签名,包括: - 关键字定义 - 函数名称 - 参数列表(python 不需要提及它们的显式类型)

例如:定义数字( n )