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

时间:2013-10-02 06:13:05

标签: python call function

“通话”的意思是什么?你会如何“调用”Python中的函数?

4 个答案:

答案 0 :(得分:19)

当你“调用”一个函数时,你基本上只是告诉程序执行该函数。因此,如果您有一个添加了两个数字的函数,例如:

def add(a,b):
    return a + b

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

add(3,5)

将返回8.在这种情况下,您可以在括号中放入任意两个数字。你也可以调用这样的函数:

answer = add(4,7)

在这种情况下,将变量answer设置为11。

答案 1 :(得分:12)

我会给出稍微高级的答案。在Python中,函数是first-class objects。这意味着它们可以“动态创建,销毁,传递给函数,作为值返回,并具有编程语言中其他变量的所有权限。”

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

引自Python 2 Data Model page,对于函数对象,类实例(旧样式类)和类对象(新式类),“x(arg1, arg2, ...)x.__call__(arg1, arg2, ...)的简写”

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

目前我建议您阅读Official Python Tutorial

答案 2 :(得分:2)

“call”意味着在代码中引用一个写在别处的函数。这个函数“调用”可以用于标准Python库(随Python安装的东西),第三方库(其他人写的你想要使用的东西),或者你自己的代码(你写的东西)。例如:

#!/usr/env python

import os

def foo():
    return "hello world"

print os.getlogin()
print foo()

我后来用print语句创建了一个名为“foo”的函数和名为的函数。我导入了标准的“os”Python库,然后我称为该库中的“getlogin”函数。

答案 3 :(得分:0)

当你调用一个函数时,它被称为'调用'一个函数。 例如,假设您已经定义了一个函数,可以找到两个数字的平均值 -

def avgg(a,b) :
        return (a+b)/2;

现在,要调用该函数,你会喜欢这样。

x=avgg(4,6)
print x

x的值为5。