【发布时间】:2019-04-02 15:37:01
【问题描述】:
我最初的问题是是否可以从 Python 构造函数中调用方法。答案here 表明它可以,但这让我有些吃惊,因为根据我的阅读,python 不能使用以前在代码中没有定义的东西。查看链接线程中的答案,似乎他们正在使用构造函数中的一个方法,该方法在文本后面定义。这在python中怎么可能?
谢谢。
【问题讨论】:
-
只要在函数被定义(由Python解析和编译)之前不调用函数,你可以在任何你喜欢的地方使用它。
-
如果没有简单的代码示例,很难给出具体的答案。但是一般来说构造函数是在方法之前定义的,但是构造函数是在方法定义之后调用的。
-
也许这只是一个术语问题。
__init__()是 initializer,而不是 constructor。到__init__()被调用时,对象已经完全存在。 -
实际的对象构造函数是
__new__,其中包括为对象提供方法,然后调用__init__来初始化对象。
标签: python constructor