首页 > 其他分享 >TypeError: Cancel() takes 0 positional arguments but 1 was given 的一种原因

TypeError: Cancel() takes 0 positional arguments but 1 was given 的一种原因

时间:2024-04-11 14:31:20浏览次数:22  
标签:__ given TypeError takes self Executor Cancel IDE def

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

相关文章