Python继承练习:如何将Person类数据传入IndividualBankAccount类
问题解答
问题1:super()构造方法传参调整
父类BankAccount的__init__方法本身仅要求传入sort_code(排序码)和account_number(账号)两个参数,owner(账户持有人)是子类IndividualBankAccount独有的属性,不需要传递给父类构造方法。
你现在写的super().__init__(sort_code,account_number)是完全正确的,无需修改,下方自行赋值self._owner = owner就是给子类实例绑定持有人信息的正确写法。
额外提示一处现有代码的小bug:Person类的__init__方法里,给姓氏赋值的语句写的是self.second_name=ln,但类预定义的属性是_second_name,少了前缀下划线,后续访问会报错,需要改成self._second_name = ln
问题2:get_account_data方法f字符串填写
你需要从实例属性里依次取出4个字段拼接:
- 持有人的名:
self._owner._first_name - 持有人的姓:
self._owner._second_name - 排序码:从父类继承的
self._sort - 账号:从父类继承的
self._account_num
所以f字符串的正确写法是:
my_string = f"{self._owner._first_name} {self._owner._second_name} {self._sort} {self._account_num}"
内容的提问来源于stack exchange,提问作者Emilia Delizia
相关产品推荐
相关产品推荐

