Python在Nutshell中说:
在类体中定义的方法首先具有强制性 参数,通常命名为self,引用实例 你称之为方法。
类的方法是否应该至少有一个引用实例的参数?
创建没有任何参数的方法是不好的做法吗?
在类或类的实例上调用方法时始终使方法工作是一种好习惯吗?
请注意,我不是在讨论静态方法或类方法,而是普通方法。
>>> class C5(object):
... def hello():
... print('Hello')
...
>>> C5.hello()
Hello
>>> C5().hello()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: hello() takes 0 positional arguments but 1 was given
感谢。
答案 0 :(得分:1)
Python希望你将self作为参数传递给你的类方法,以便python知道这些方法属于它们所在的类。
答案 1 :(得分:1)
您应始终将self
作为类方法中的第一个参数。如果您想要调用类方法而不创建类实例,则需要编写以下内容:
class Foo:
@staticmethod
def hello():
print("Hi")