- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在阅读 Think Python:如何像计算机科学家一样思考。作者对方法使用“调用”,对函数使用“调用”。
这是约定俗成的吗?而且,如果是这样,为什么要进行这种区分?为什么函数说是调用,而方法说是调用?
最佳答案
并非如此,也许新读者更容易明确区分以便理解他们的调用略有不同。至少这就是为什么我怀疑作者可能为每个选择了不同的措辞。
Python 语言的引用手册中似乎没有规定这一点的约定。我觉得他们所做的是在对函数的调用是隐式而不是显式时选择调用。
例如,在 the Standard Type Hierarchy 的 Callables 部分你看:
[..] When an instance method object is called, the underlying function (
__func__
) is called, inserting the class instance (__self__
) in front of the argument list. [...]
(强调我的)显式调用
进一步向下 Basic Customization特别是 for __new__
你可以看到:
Called to create a new instance of class
cls. __new__()
is a static method [...]
(强调我的)显式调用
几句话之后您将看到如何使用 invoked 因为 __new__
隐式调用 __init__
:
If
__new__()
does not return an instance ofcls
, then the new instance’s__init__()
method will not be invoked.
(强调我的)隐式调用
所以不,似乎没有使用约定,至少语言的创建者是这样。简单总比复杂好,我想 :-)。
关于python - 是不是约定俗成的说函数被调用,方法被调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40528896/
我是一名优秀的程序员,十分优秀!