所以我仍然对Python很陌生,我仍然对使用参数与参数感到困惑。例如,我如何编写一个接受字符串作为参数的函数?
答案 0 :(得分:2)
通常当人们说参数/参数时它们意味着相同的东西,但它们之间的主要区别在于参数是函数中声明的参数,而参数是调用函数时传递的参数。
def add(a, b):
return a+b
add(5, 4)
此处,参数为a
和b
,传递的参数为5
和4
。
由于Python是一种动态类型语言,因此在声明函数时不需要声明参数的类型(与C等其他语言不同)。因此,我们无法控制作为函数参数传递的确切类型。例如,在上面的函数中,我们可以add("hello", "hi")
。
这是isinstance()
等函数有用的地方,因为它们可以确定对象的类型。例如,如果您执行isinstance("hello", int)
,则会返回False,因为"hello"
是一个字符串。
答案 1 :(得分:1)
查看常见问题:
<块引用>What is the difference between arguments and parameters? 由函数定义中出现的名称定义,而 Parameters 是调用函数时实际传递给函数的值。参数定义了函数可以接受的参数类型。例如,给定函数定义:
def func(foo, bar=None, **kwargs):
pass
foo、bar 和 kwargs 是 func
的参数。但是,在调用 func
时,例如:
func(42, bar=314, extra=somevar)
值 42
、314
和 somevar
是参数。
另见:
要定义接受字符串的函数,请参阅This answer。我只想提一下,您可以添加 TerryA's answer 来帮助使用您的函数的人判断它接受什么类型,以及它返回什么类型。
def greeting(name: str) -> str:
return 'Hello ' + name