【问题标题】:Calling a method from a constructor in python [duplicate]从python中的构造函数调用方法[重复]
【发布时间】:2019-04-02 15:37:01
【问题描述】:

我最初的问题是是否可以从 Python 构造函数中调用方法。答案here 表明它可以,但这让我有些吃惊,因为根据我的阅读,python 不能使用以前在代码中没有定义的东西。查看链接线程中的答案,似乎他们正在使用构造函数中的一个方法,该方法在文本后面定义。这在python中怎么可能?

谢谢。

【问题讨论】:

  • 只要在函数被定义(由Python解析和编译)之前不调用函数,你可以在任何你喜欢的地方使用它。
  • 如果没有简单的代码示例,很难给出具体的答案。但是一般来说构造函数是在方法之前定义的,但是构造函数是在方法定义之后调用的。
  • 也许这只是一个术语问题。 __init__()initializer,而不是 constructor。到__init__() 被调用时,对象已经完全存在。
  • 实际的对象构造函数是__new__,其中包括为对象提供方法,然后调用__init__ 来初始化对象。

标签: python constructor


【解决方案1】:

当您运行将创建类的代码时,不会调用该函数

该函数只会被主函数中的对象调用,到那时函数的定义将被编译并知道。

试试这个 声明一个类,然后调用一个既不是类 * 的成员也没有声明的函数

稍后再声明,会报错

【讨论】:

    猜你喜欢
    • 2014-02-16
    • 2016-08-28
    • 1970-01-01
    • 1970-01-01
    • 2013-08-10
    • 2015-11-30
    • 2013-05-08
    • 1970-01-01
    • 2012-09-15
    相关资源
    最近更新 更多