在Python中"调用"函数意味着什么?

use*_*438 10 python function call

"呼叫"是什么意思和做什么?你会如何在Python中"调用"一个函数?

Joe*_*een 20

当你"调用"一个函数时,你基本上只是告诉程序执行该函数.所以,如果你有一个添加两个数字的函数,例如:

def add(a,b):
    return a + b
Run Code Online (Sandbox Code Playgroud)

你可以这样调用这个函数:

add(3,5)
Run Code Online (Sandbox Code Playgroud)

这将返回8.在这种情况下,你可以在括号中加上任何两个数字.你也可以调用这样的函数:

answer = add(4,7)
Run Code Online (Sandbox Code Playgroud)

在这种情况下,将变量答案设置为11.


Sha*_*ank 12

我会给出一个稍微高级的答案.在Python中,函数是第一类对象.这意味着它们可以"动态创建,销毁,传递给函数,作为值返回,并具有编程语言中其他变量的所有权限".

在Python中调用函数/类实例意味着调用该__call__对象的方法.对于旧式类,类实例也是可调用的,但仅当创建它们的对象具有__call__方法时才可调用.这同样适用于新式类,除了新实例类没有"实例"的概念.相反,它们是"类型"和"对象".

Python 2数据模型页面引用,对于函数对象,类实例(旧样式类)和类对象(新样式类)," x(arg1, arg2, ...)是"的简写x.__call__(arg1, arg2, ...).

因此,无论何时使用简写定义函数,def funcname(parameters):您实际上只是使用方法创建对象,__call__而简写__call__就是命名实例并使用包含调用参数的括号来跟随它.因为函数是Python中的第一类对象,所以它们可以使用动态参数动态创建(因此接受动态参数).这对于稍后将阅读的装饰器函数/类非常方便.

现在我建议阅读官方Python教程.