相同的属性和方法名称返回TypeError:“ NoneType”对象不可调用

时间:2018-10-27 22:55:39

标签: python python-3.x class constructor nonetype

基于此question。 我有一个已定义的课程:

class MyClass:

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

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

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

当我使用此功能时:

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

它返回我:

abc

但是当我使用这个时:

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

它返回我:

TypeError: 'NoneType' object is not callable

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

这种类型的错误非常普遍,并以不同的组合发生。我想知道为什么在这种情况下会发生这种情况。

1 个答案:

答案 0 :(得分:-1)

问题已解决。

答案是here

  

在Python中,当您给实例属性指定与   方法,该方法被属性隐藏。