Python期末考试sos

定义一个表示普通人信息的类Person以及由其作为基类派生出来的子类Student,要求如下:
(1)类Person的成员变量: name 表示姓名; age 表示年龄; sex表示性别;
(2)类Person的成员方法: getName() :获得姓名; getAge( ):获得年龄; getSex0:获得性别; setName():给姓名重新赋值; setAgeO :给年龄重新赋值; setSexO:给性别重新赋值;
(3)由类Person派生出子类Student,它包含2个独有的属性-专业(major) 和学院(school); 4个独有的成员方法用于访问专业和学院属性,并对其重新赋值,分别是getMaior(),setMajor(),getSchool (), setSchool();
(4)创建1个Student类的对象,访问各个属性信息,并输出显示。

class Person(object):

    def __init__(self):
        self._name: str = ''
        self._age: int = 0
        self._sex: str = ''

    def get_name(self):
        return self._name

    def set_name(self, name):
        self._name = name

    name = property(fget=get_name, fset=set_name)

    def get_age(self):
        return self._age

    def set_age(self, age):
        if isinstance(age, int):
            self._age = age
        else:
            print('年龄格式不正确')

    age = property(fget=get_age, fset=set_age)

    def get_sex(self):
        return self._sex

    def set_sex(self, sex):
        self._sex = sex

    sex = property(fget=get_sex, fset=set_sex)


class Student(Person):
    def __init__(self):
        super().__init__()
        self._major: str = ''
        self._school: str = ''

    def get_major(self):
        return self._major

    def set_major(self, major):
        self._major = major

    major = property(get_major, set_major)

    def get_school(self):
        return self._school

    def set_school(self, school):
        self._school = school

    school = property(get_school, set_school)


if __name__ == '__main__':
    student = Student()
    student.name = 'Bob'
    student.age = 21
    student.sex = '男'
    student.major = '德语'
    student.school = '西方语言学院'
    print('学生{} 年龄{} 性别{} 专业{} 学院{} 已录入。'.format(student.name, student.age, student.sex,
                                                 student.major, student.school))