Python:类与对象训练题

本文介绍了一道关于Python类与对象的训练题目,涉及Person、Student、Teacher类的创建与继承,以及相关方法的实现。在编写过程中遇到了`TypeError: descriptor 'init' requires a 'super' object but received a 'str'`的问题,原因是误将`super`当作字符串使用。解决方法是确保使用`super()`来调用父类的`__init__`方法。最终,成功创建并打印了学生和老师对象的信息,实现了学习与教学的功能。

完成下列小题

1)创建Person类,属性有姓名、年龄、性别,创建方法personInfo,打印这个人的信息

2)创建Student类,继承Person类,属性有学院college

,班级class,重写父类personInfo方法,调用父类方法打印个人信息外,将学生的学院、班级信息也打印出来,

创建方法study参数为Teacher对象,调用Teacher类的teachObj方法,接收老师教授的知识点,然后打印‘老师xxx,我终于学会了!’xxx为老师的teach方法返回的信息。

重写__str__方法,返回student的信息。

3)创建Teacher类,继承Person类,属性有学院college,专业professional

,重写父类personInfo方法,调用父类方法打印个人信息外,将老师的学院、专业信息也打印出来。

创建teachObj方法,返回信息为‘今天讲了如何用面向对象设计程序’

4)创建三个学生对象,分别打印其详细信息

5)创建一个老师对象,打印其详细信息

6)学生对象调用learn方法

7)将三个学员添加至列表中,通过循环将列表中的对象打印出来,print(Student对象)。

代码实现:
class Person:
    def __init__(self, name, age, sex):
        self.age = age
        self.name = name
        self.sex = sex

    def personInfo(self):
        print("{},{},{}".format(self.name, self.sex, self.age))


class Teacher(Person):
    def __init__(self, name, sex, age, college
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Alphy洪武

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值