Python FAQ 035 __init__ 方法没起作用
Python FAQ 035 __init__ 方法没起作用问题
为什么实例化类的时候没有自动调用 __init__ 方法呢?
>>> class A:
def _init_(self):
print('我是小 a')
>>> a = A() # 什么也没打印
解答
__init__ 前后需要双下划线,而代码中前后只有一个下划线,加上就没问题了。
>>> class A:
def __init__(self):
print('我是小 a')
>>> a = A()
我是小 a 为何不考虑一下不加下划线(def init(self, ...))的情况? _2_ 发表于 2020-7-17 20:16
为何不考虑一下不加下划线(def init(self, ...))的情况?
不加下划线这种错误很少人会犯 zltzlt 发表于 2020-7-17 20:19
不加下划线这种错误很少人会犯
我犯过{:10_266:}刚开始学类的时候
后来再也忘记不了了= = _2_ 发表于 2020-7-17 20:20
我犯过刚开始学类的时候
后来再也忘记不了了= =
{:10_250:}估计是没看清方法名就动手了 zltzlt 发表于 2020-7-17 20:22
估计是没看清方法名就动手了
……{:10_266:}
回想起来那时的我又傻又{:10_245:} zltzlt 发表于 2020-7-17 20:19
不加下划线这种错误很少人会犯
构造函数的前面和后面都有加两个下划线,你只加了一个,系统当然会把这个理解为你自己定义的函数,而不是构造函数
页:
[1]