【发布时间】:2017-12-29 08:14:17
【问题描述】:
有什么方法可以在不触发该类的__init__ 部分的情况下调用类中的函数?假设我有下一节课,通常我会这样调用函数:
class Potato():
def __init__(self):
print("Initializing")
def myfunction(self):
print("I do something")
Potato().myfunction()
但正如预期的那样打印初始化部分。现在,如果我想调用 myfunction 而不触发它。你会怎么做?这样做的利弊?甚至有可能吗?
【问题讨论】:
-
什么...那就不要使用
__init__。无论如何,您都没有在该示例中初始化任何变量。 -
这只是一个例子,我想知道如果真正的代码中有变量会发生什么,但我不想在调用函数时调用它们。或者,如果有可能的话。
-
您不会“调用”变量。
__init__“初始化”。这意味着一旦您实例化一个类,该特定实例就会获得您初始化为属性的任何变量。我不知道您所说的“调用函数时不调用它们”是什么意思。 -
对不起,我的主要语言不是英语。我只是想知道当你实例化一个类时是否有办法排除一个类的
__init__函数。希望这更有意义。 @Trauer 可能,我正在学习课程以及它们是如何工作的,我偶然发现了这一点。我知道有更好的方法来调用函数,但我只是想解决我对“有可能做到这一点......?”的好奇心。 -
您可以创建一个覆盖
__init__方法的子类以不执行任何操作...但不确定重点是什么。
标签: python python-3.x class