相同的属性和方法名返回TypeError:“NoneType”对象不是callab

2021-05-13 13:31:41 发布

您现在位置:Python中文网/ 问答频道 /正文

基于这个question。 我有一个定义的类:

class MyClass:

    def __init__(self, param=None):
        self.abc = param

    def abc(self, param):
        self.abc = param

    def output(self):
        print (self.abc)

当我使用这个时:

^{pr2}$

它回报我:

abc

但是当我用这个的时候:

myClass = MyClass()
myClass.abc("abc")
myClass.output()

它回报我:

TypeError: 'NoneType' object is not callable

当我使用param=""时,TypeError更改为'str' object...。在

这种类型的错误非常常见,并且发生在不同的组合中。我想知道为什么在这个案子中会发生这种情况。在