“呼叫”是什么意思和作用?你会如何在 Python 中“调用”一个函数?
4 回答
当您“调用”一个函数时,您基本上只是在告诉程序执行该函数。因此,如果您有一个添加两个数字的函数,例如:
def add(a,b):
return a + b
你会这样调用函数:
add(3,5)
这将返回 8。在这种情况下,您可以将任意两个数字放在括号中。你也可以像这样调用函数:
answer = add(4,7)
在这种情况下,这会将变量 answer 设置为 11。
我会给出一个稍微高级的答案。在 Python 中,函数是一等对象。这意味着它们可以“动态地创建、销毁、传递给函数、作为值返回,并拥有编程语言中其他变量所拥有的所有权利”。
在 Python 中调用函数/类实例意味着调用该__call__
对象的方法。对于旧式类,类实例也是可调用的,但前提是创建它们的对象具有__call__
方法。这同样适用于新式类,除了新式类没有“实例”的概念。相反,它们是“类型”和“对象”。
正如Python 2 数据模型页面所引用的,对于函数对象、类实例(旧式类)和类对象(新式类),“x(arg1, arg2, ...)
是”的简写x.__call__(arg1, arg2, ...)
。
因此,每当您使用简写定义函数时,def funcname(parameters):
您实际上只是使用方法创建了一个对象,__call__
而 for 的简写__call__
只是命名实例并在其后面加上包含调用参数的括号。因为函数是 Python 中的第一类对象,所以可以使用动态参数动态创建它们(因此接受动态参数)。这对于稍后将阅读的装饰器函数/类非常有用。
现在我建议阅读官方 Python 教程。
“调用”意味着在您的代码中引用在别处编写的函数。可以对标准 Python 库(随 Python 安装的东西)、第三方库(其他人编写的您想使用的东西)或您自己的代码(您编写的东西)进行此函数“调用”。例如:
#!/usr/env python
import os
def foo():
return "hello world"
print os.getlogin()
print foo()
我创建了一个名为“foo”的函数,并在稍后使用该打印语句调用它。我导入了标准的“os”Python 库,然后在该库中调用了“getlogin”函数。
当你调用一个函数时,它被称为“调用”一个函数。例如,假设您已经定义了一个函数,可以像这样找到两个数字的平均值 -
def avgg(a,b) :
return (a+b)/2;
现在,要调用该函数,您可以这样做。
x=avgg(4,6)
print x
x 的值为 5 。