Dmi*_*kov -2 python methods exception class python-3.x
class MyClass:
def say():
print("hello")
mc = MyClass()
mc.say()
Run Code Online (Sandbox Code Playgroud)
我收到了错误:TypeError: say() takes no arguments (1 given).我做错了什么?
这是因为类中的方法期望第一个参数self.此self参数由python内部传递,因为它在调用方法时始终向自身发送引用,即使它在方法中未使用
class MyClass:
def say(self):
print("hello")
mc = MyClass()
mc.say()
>> hello
Run Code Online (Sandbox Code Playgroud)
或者,您可以使方法静态并删除self参数
class MyClass:
@staticmethod
def say():
print("hello")
mc = MyClass()
mc.say()
>> hello
Run Code Online (Sandbox Code Playgroud)