开始使用免费开始使用

添加一个可选构造器

类方法可以提供构造对象的另一种途径,例如从文件创建,或接受不同的信息并在构造过程中先执行计算,再返回所需的属性。

在本练习中,您将使用 Person 类。其构造函数在初始化时需要传入姓名和年龄。您将添加一个类方法,使其可以通过姓名和出生年份来初始化,该方法会根据出生年份计算年龄。

本练习是课程的一部分

Python 面向对象编程入门

查看课程

练习说明

  • 添加类方法装饰器。
  • 定义 from_birth_year() 类方法,接受 3 个参数:用于指代类的约定特殊参数、namebirth_year
  • 在方法中,通过计算类属性 CURRENT_YEARbirth_year 的差值来创建变量 age
  • 返回类的 nameage 属性。

交互式实操练习

通过完成这段示例代码来试试这个练习。

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)
编辑并运行代码