在类的方法中未给定self为什么就会报错呢?

class Class:
    def method():
        print('I have a self!')
>>> instance=Class()
>>> instance.method()
Traceback (most recent call last):
  File "<pyshell#50>", line 1, in <module>
    instance.method()
TypeError: method() takes 0 positional arguments but 1 was given

请问一下,在定义类的时候,方法method中未定义为method(self),为什么会报错?

我查阅了相关的知识点,instance是类Class的实例,instance.method()是使用instance调用类中的方法,相当于Class.method(),但是方法中的代码未涉及到self相关的属性,例如self.name,为什么还需要将方法写成method(self),我不是很理解,谢谢大佬给予解答!

问题不在这里,而是调用method()的地方给了参数。调用的地方去掉参数就可以了。

https://blog.csdn.net/xrinosvip/article/details/89647884