python小白,为什么调用这个类的方法不输出

如图,foo1.showname()后啥也没有,而且创建了foo1后应该执行那个_init_初始化方法,但是这个方法下也应该有个输出的,但是也没有,真小白,求高人解答啊😭

第1个回答  2019-02-01

改成这样

class fooclass(object):
    nm = ''
    version = 0.1
    _weight = 0
    
    def __init__(self, nm = 'hello'):
        self.name = nm
        print('your name is ' + self.name)
        
    def showname(self):
        print(self.nm)
    
    def add(self, x):
        return(x + x)

if __name__=="__main__":
    foo = fooclass()
    foo.showname()

第2个回答  2019-01-31
init方法写错了
所以没有初始化类属性
所以你的name是空字符
第3个回答  2019-01-29
构造函数的名称是__init__,左右各有两个下划线。
第4个回答  2019-01-30
init方法写错了,应该是__init__,注意是两个下划线追问

我写的是两个下划线啊

本回答被网友采纳
第5个回答  2020-01-22
这个问题我也遇到过,首先你输入的是下划线,只不过要连输两次就可以了从“_”变成“__”就行了
相似回答