猿问

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

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



慕慕森
浏览 446回答 3
3回答

慕哥6287543

当你“调用”一个函数时,你基本上只是告诉程序执行该函数。所以,如果你有一个添加两个数字的函数,例如:def add(a,b):    return a + b你可以这样调用这个函数:add(3,5)这将返回8.在这种情况下,你可以在括号中加上任何两个数字。你也可以调用这样的函数:answer = add(4,7)在这种情况下,将变量答案设置为11。

呼如林

我会给出一个稍微高级的答案。在Python中,函数是第一类对象。这意味着它们可以“动态创建,销毁,传递给函数,作为值返回,并具有编程语言中其他变量的所有权限”。在Python中调用函数/类实例意味着调用该__call__对象的方法。对于旧式类,类实例也是可调用的,但前提是创建它们的对象具有__call__方法。这同样适用于新式类,除了新实例类没有“实例”的概念。相反,它们是“类型”和“对象”。从Python 2数据模型页面引用,对于函数对象,类实例(旧样式类)和类对象(新样式类),“ x(arg1, arg2, ...)是”的简写x.__call__(arg1, arg2, ...)。因此,无论何时使用简写定义函数,def funcname(parameters):您实际上只是使用方法创建对象,__call__而简写__call__就是命名实例并使用包含调用参数的括号来跟随它。因为函数是Python中的第一类对象,所以它们可以使用动态参数动态创建(因此接受动态参数)。这对于稍后将阅读的装饰器函数/类非常方便。现在我建议阅读官方Python教程。

月关宝盒

“调用”意味着在代码中引用一个写在别处的函数。这个函数“调用”可以用于标准Python库(随Python安装的东西),第三方库(其他人写的你想要使用的东西),或者你自己的代码(你写的东西)。例如:#!/usr/env pythonimport osdef foo():    return "hello world"print os.getlogin()print foo()我创建了一个名为“foo”的函数,稍后使用该print语句调用它。我导入了标准的“os”Python库,然后在该库中调用了“getlogin”函数。
随时随地看视频慕课网APP

相关分类

Python
我要回答