python - 在 Python 中不能定义多个构造函数吗?

标签 python constructor

Possible Duplicate:
What is a clean, pythonic way to have multiple constructors in Python?

难道不能在 Python 中定义多个具有不同签名的构造函数吗?如果没有,绕过它的一般方法是什么?

例如,假设您想定义一个类City

我希望能够说 someCity = City()someCity = City("Berlin"),其中第一个只是给出默认名称值,第二个定义它。

最佳答案

与 Java 不同,您不能定义多个构造函数。但是,如果没有通过,您可以定义一个默认值。

def __init__(self, city="Berlin"):
  self.city = city

关于python - 在 Python 中不能定义多个构造函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2164258/

相关文章:

c++ - 在 C++ 中使用字符串数组多次运行一个函数

python importlib 没有命名的模块

c++ - 成员变量初始化

vb.net - VB中可以继承带参数的sub new(构造函数)吗?

python - SQLAlchemy 中的整数字段不自动递增

c# - C# 中是否有带参数约束的泛型构造函数?

c++ - 初始化对象数据成员 C++

python - PyQt 导出当前在 QListWidget 中可见的 QListWidgetItems 的 y 像素坐标

python - 无法在 MacOS Catalina 中的 Python 3.7(Anaconda) 中导入 Camelot

python - 在 Python 中将点的平面列表转换为二维 System.Array 类型 Array[Array[Point]]