考虑一个简单的例子:
当我调用
这是有道理的。
但是当我调用
class C:
@staticmethod
def my_static_method():
print("static")
def my_instance_method(self):
print("self")
当我调用
C().my_static_method()
时,Python 不会将 C
的实例传递给 my_static_method
,而 my_static_method
引用的 descriptor 也不需要 C
的实例。这是有道理的。
但是当我调用
C().my_instance_method()
时,Python 如何知道将我从中调用 my_instance_method
的 C
实例作为参数传递进去,而我没有指定任何内容?