python 非静态成员函数
在自定义python类中,使用pycharm作为IDE,其补全功能会自动为类内的function创建self作为函数的第一参数。
一些普通的IDE或者没有专门设置的IDE不会为类 内的方法添加self作为第一参数,因此需要coder们自行添加。除非是静态函数不需要self作为参数。
如
class Executor():
def __init__(self):
pass
def Cancel():
print("Cancel !")
上述代码在使用类创建的对象调用Cancel函数时,
cr = Executor()
cr.Cancel()
报错TypeError: Cancel() takes 0 positional arguments but 1 was given
需要修改为:
class Executor():
def __init__(self):
pass
def Cancel(self):
print("Cancel !")
可参考:
为什么Python在类下定义函数要用self参数? - NoOffense的回答 - 知乎
标签:__,given,TypeError,takes,self,Executor,Cancel,IDE,def From: https://blog.csdn.net/hxd942634/article/details/137549604