参数与参数 Python
Posted
技术标签:
【中文标题】参数与参数 Python【英文标题】:Parameter vs Argument Python 【发布时间】:2018-04-20 12:14:36 【问题描述】:所以我对 Python 还是很陌生,我仍然对使用参数和参数感到困惑。例如,我将如何编写一个接受字符串作为参数的函数?
【问题讨论】:
嗯,“使用参数与参数”是什么意思?你是在问这些词是什么意思? 【参考方案1】:通常当人们说参数/参数时,它们的意思是相同的,但它们之间的主要区别在于参数是在函数中声明的内容,而参数是在调用函数时传递的内容。
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"
是一个字符串。
【讨论】:
读者可以查看Python文档:docs.python.org/3/glossary.html#term-parameter 这里也很好地解释了这个概念 - codingeek.com/tutorials/python/function-argument【参考方案2】:查看常见问题解答:
What is the difference between arguments and parameters?
Parameters 由出现在函数定义中的名称定义,而 arguments 是在调用函数时实际传递给函数的值。参数定义函数可以接受的参数类型。例如,给定函数定义:
def func(foo, bar=None, **kwargs): pass
foo、bar 和 kwargs 是
func
的参数。但是,当调用func
时,例如:func(42, bar=314, extra=somevar)
值
42
、314
和somevar
是参数。
另见:
language-agnosticWhat's the difference between an argument and a parameter? This answer 是我的最爱。有关定义接受字符串的函数,请参阅TerryA's answer。我只想提一下,您可以添加 type hints 以帮助使用您的函数的人知道它接受什么类型,以及它返回什么类型。
def greeting(name: str) -> str:
return 'Hello ' + name
【讨论】:
【参考方案3】:在编程术语中,参数是指您传递给正在调用的函数的数据,而参数是数据的名称,我们使用函数内部的参数来引用它并对其进行处理。
例如:
def functionname(something):
do some stuff with something
functionname(abc)
在这种情况下,
abc
--> 论据
something
--> 参数
【讨论】:
以上是关于参数与参数 Python的主要内容,如果未能解决你的问题,请参考以下文章