【发布时间】:2018-04-20 12:14:36
【问题描述】:
所以我对 Python 还是很陌生,我仍然对使用参数和参数感到困惑。例如,我将如何编写一个接受字符串作为参数的函数?
【问题讨论】:
-
嗯,“使用参数与参数”是什么意思?你是在问这些词是什么意思?
标签: python string function parameters arguments
所以我对 Python 还是很陌生,我仍然对使用参数和参数感到困惑。例如,我将如何编写一个接受字符串作为参数的函数?
【问题讨论】:
标签: python string function parameters arguments
通常当人们说参数/参数时,它们的意思是相同的,但它们之间的主要区别在于参数是在函数中声明的内容,而参数是在调用函数时传递的内容。
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" 是一个字符串。
【讨论】:
查看常见问题解答:
What is the difference between arguments and parameters?
Parameters 由出现在函数定义中的名称定义,而 arguments 是在调用函数时实际传递给函数的值。参数定义函数可以接受的参数类型。例如,给定函数定义:
def func(foo, bar=None, **kwargs): passfoo、bar 和 kwargs 是
func的参数。但是,当调用func时,例如:func(42, bar=314, extra=somevar)值
42、314和somevar是参数。
另见:
有关定义接受字符串的函数,请参阅TerryA's answer。我只想提一下,您可以添加 type hints 以帮助使用您的函数的人知道它接受什么类型,以及它返回什么类型。
def greeting(name: str) -> str:
return 'Hello ' + name
【讨论】:
在编程术语中,参数是指您传递给正在调用的函数的数据,而参数是数据的名称,我们使用函数内部的参数来引用它并对其进行处理。
例如:
def functionname(something):
do some stuff with {something}
functionname(abc)
在这种情况下,
abc --> 论据something --> 参数【讨论】: