【发布时间】:2020-09-21 03:38:23
【问题描述】:
我在 C++ 中遇到了类构造函数的概念。但是我还没有找到一种方法来使用 2 种或更多不同的方法在 Python 中初始化一个类。谁能告诉我该怎么做?
【问题讨论】:
-
查看数据模型google.com/search?client=firefox-b-e&q=python+init+vs+new中的
__init__和__new__。通常在 Python 中,您不会实现构造函数 (__new__),而只需使用__init__来初始化您的类的新实例。 -
您是在询问一般的构造函数,还是在寻找类似于 C++ 在 Python 中的重载构造函数?
-
docs.python.org/3/tutorial/classes.html 这是一般构造函数的标准方法。这也是一个很好的解释youtube.com/watch?v=ZDa-Z5JzLYM。我希望这有帮助! :)
-
Python 没有方法重载,如果它是您正在寻找的。但是你可以让不同的类方法像工厂一样工作,也就是说,具有不同的名称,接受它们自己的参数列表并返回相同或不同类型的对象实例。
-
@progmatico 但这不会像 init 提供的那样,对吧?我不想使用方法 car1 和 car2 创建汽车实例。