我想知道是否有人对__init__
函数的具体使用与构造函数不同。
因为我到处都在读到这不应该被视为构造函数,但我找不到任何利用这一点或真正说明为什么它如此重要的例子。
因此,如果有人有一些具体的代码显示它,我会很高兴看到它!
谢谢
我想知道是否有人对__init__
函数的具体使用与构造函数不同。
因为我到处都在读到这不应该被视为构造函数,但我找不到任何利用这一点或真正说明为什么它如此重要的例子。
因此,如果有人有一些具体的代码显示它,我会很高兴看到它!
谢谢
__init__()
本身不是构造函数,因为在尝试构造对象时__init__()
不一定总是调用:
class C(object):
def __new__(cls):
return 5
def __init__(self):
print 'I am a crow! CAW! CAW!'
c = C()
print c
http://docs.python.org/2/reference/datamodel.html
向下滚动到经典类,它说一个类可以在没有 init 方法的情况下存在,所以 init 为该类初始化了一些东西,但目前调用init,对象已经存在。或者这至少是我对它的理解,因为否则命名它可能会更合乎逻辑__constr__
,而不是__init__
我猜这不是你问题的真正答案,但在某些情况下你可以不使用 init,(如果你认为“不使用它”作为它的用途,那么我确实回答了部分问题?)
Class Example:
def __init__(self,value1,value2):
self.value1 = value1
self.value2 = value2
我不是 python 专家,并且承认init函数可能还有其他用途,但在我看来,它看起来像构造函数。
同样根据定义,它是一个构造函数:
Dictionary.com - 构造函数
滚动到计算机相关定义的链接底部