【发布时间】:2018-11-26 17:05:57
【问题描述】:
如果这个问题太基本/太明显,我们深表歉意,但在搜索此处和数据模型文档后,我找不到合理的答案。
我的问题很简单,python 3 中的调用者到底是什么?有严格的定义吗?
例如,我知道调用另一个函数的函数称为调用者。所以:
def f1():
pass
def f2():
f1()
f2 是 f1 的调用者。但是赋值语句呢?
x = f2()
x 是 f2 的调用者吗?它也是f1的调用者吗?很明显,函数定义末尾的 return 语句向调用者返回了一个值,所以我假设在这种情况下 x 既是 f2 的调用者,又是 f1 的调用者,但是我只想检查是否有更深的/调用者的技术含义是什么?
我发现了这个问题I don't understand "return" in Python and what is a caller?,但我无法理解。
【问题讨论】:
-
我会说
f1调用f2和x是f2()的结果 - 我不会称任何人为“调用者” - 这有什么关系? -
您好,我不确定我是否理解为什么 f1 调用 f2? stackoverflow.com/questions/2654113/… 这个问题似乎暗示应该反过来,但我不太确定。没有实际原因,但我一直看到调用者被使用,但我意识到我实际上并不知道它的确切含义!
-
ups ... 错字 --- f2 调用 f1 ,很抱歉造成混淆 - 我有时获得了 CS 学位,但我认为我从未将函数作为调用者或被调用者 :)
-
@masiewpao 这很公平。就我个人而言,我从未使用过或听说过使用过这个词(尽管我听说过 “调用函数” 和类似的词)
-
我会说
f2是调用者,但请注意,在这种情况下,并非每个函数调用都有调用者;没有要求每个函数调用都发生在另一个函数中。
标签: python python-3.x