【发布时间】:2022-11-10 16:03:57
【问题描述】:
考虑以下代码:
num = 1 + 1j
print(num.imag)
相对于
word = "hey"
print(word.islower())
一个需要括号,另一个不需要。我知道在 Python 中,当我们调用不带括号的函数时,我们只会返回对该函数的引用,但它并没有真正回答它。所以'imag'返回一个参考?因为似乎该方法确实被执行并返回了 imag 部分。
【问题讨论】:
-
属性和属性不需要括号。函数和方法需要括号。
-
你永远不会调用没有括号的函数:括号是通话。 Python 中的任何名称都可以引用任何值,并且许多值都是可调用的。括号基本上是调用可调用值的
__call__方法的“运算符”。 (也就是说,x(...)等价于 x.__call__(...)`。)
标签: python