添加一个可选构造器
类方法可以提供构造对象的另一种途径,例如从文件创建,或接受不同的信息并在构造过程中先执行计算,再返回所需的属性。
在本练习中,您将使用 Person 类。其构造函数在初始化时需要传入姓名和年龄。您将添加一个类方法,使其可以通过姓名和出生年份来初始化,该方法会根据出生年份计算年龄。
本练习是课程的一部分
Python 面向对象编程入门
练习说明
- 添加类方法装饰器。
- 定义
from_birth_year()类方法,接受 3 个参数:用于指代类的约定特殊参数、name和birth_year。 - 在方法中,通过计算类属性
CURRENT_YEAR与birth_year的差值来创建变量age。 - 返回类的
name和age属性。
交互式实操练习
通过完成这段示例代码来试试这个练习。
class Person:
CURRENT_YEAR = 2024
def __init__(self, name, age):
self.name = name
self.age = age
# Add a class method decorator
____
# Define the from_birth_year method
def ____(____, ____, ____):
# Create age
age = ____.____ - ____
# Return the name and age
return ____(____, ____)
bob = Person.from_birth_year("Bob", 1990)