python错误:TypeError: __init__() missing 1 required positional argument: ‘n‘

     出现这种错误,就是class中init函数中的参数没有赋值。

    如:【下面的是错误的代码】

__meta__ = type
class ff:
    def __init__(self, n):
        self.xxx = n
        self.yyy = 'asdf'
        self.zzz = [1,2,3]
    def asdf(self,x):
        self.ggg = x

a = ff() #必须先写入初始化值,否则就会出现错误
print(a.zzz)

如上面代码注释的那一行所写,你必须写入n的值。

把a = ff()改成a = ff(1),  这样不仅给n赋了个值,这样还不报错。

【初始化的函数必须赋值,而其他函数不需要赋值,如果想赋值那就a.asdf('ppppp'),这样就表明实例a的ggg为‘ppppp’】

如果没有def __init__(self, n):也就是没有init的函数的话,你就可以不用赋值,哪怕里面有未知量n


版权声明:本文为m0_51788349原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。