python中一个class创建两个构造器
时间: 2023-05-26 10:01:56 浏览: 99
Python-python中一个简单的DynamoDBORM框架
在Python中,一个类只能有一个构造函数。这个构造函数通常称为`__init__()`方法。
但是,我们可以通过继承,使用基类的构造函数来创建一个类的新实例。下面是一个示例代码:
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
class Employee(Person):
def __init__(self, name, age, salary):
super().__init__(name, age)
self.salary = salary
def __str__(self):
return f"{self.name} is {self.age} years old and earns ${self.salary}/year."
```
在这个例子中,`Employee`类继承了`Person`类,并且`Employee`类有一个新的构造函数,它接受三个参数:`name`、`age`和`salary`。在这个构造函数中,我们先调用了基类`Person`的构造函数,使用`super()`函数实现。这样就可以在`Employee`类中使用`name`和`age`这两个属性了。然后,我们创建了一个新的属性`salary`,它表示雇员的薪水。
现在,我们可以使用这个类来创建一个新的实例,如下所示:
```python
employee = Employee("Alice", 25, 50000)
print(employee) # 输出:Alice is 25 years old and earns $50000/year.
```
在这个例子中,我们创建了一个`Employee`实例,名为`employee`,它的`name`属性为`"Alice"`,`age`属性为`25`,`salary`属性为`50000`。
此外,我们还在`Employee`类中定义了一个`__str__()`方法,用来输出该实例的相关信息。在上面的代码中,我们使用了这个方法来打印`employee`的信息。
阅读全文