当前位置 : 主页 > 编程语言 > python >

python 编程练习

来源:互联网 收集:自由互联 发布时间:2022-10-26
自定义两个类Person和Student,且Student继承自Person。Person类主要描述人的姓名和性别两大基本特征。Student类除了保持父类的基本属性之外还具有分数、主修两个公有属以及一个私有属性(

自定义两个类Person和Student,且Student继承自Person。Person类主要描述人的姓名和性别两大基本特征。Student类除了保持父类的基本属性之外还具有分数、主修两个公有属以及一个私有属性(学号)。请根据上述的基本说明,对stu和stu_2两个对象的信息进行综合展示

任务

1、自定义Person类,并重写其构造(初始化)方法__init__( ),将name和gender参数赋值给实例对象的属性

2、自定义实例方法speak( ),功能:打印“hello ! 我是xxx”。relation( )方法主要是占位作用,无其他实质性功能

3、自定义Student类,继承自Person类,并重写其构造(初始化)方法__init__( ),name、gender参数通过调用父类的构造函数进行赋值,score、major及__stu_num通过子类重写的 __init__( )进行赋值,设置__stu_num的初始值为'2018014002'。

4、自定义实例方法speak( ),功能:打印 '我的学号为xxxxxxxxxx,很高兴认识大家';

5、自定义实例方法identify_stu( ),功能:判断Student对象的学号。若学号为2018014002,则打印‘我的分组已经完成’,反之则打印‘请稍后,马上为你自动分组’;

6、自定义实例方法set_num( new_num),功能:将学号重写设置为new_num;

7、自定义实例方法relation( ),功能:判断Student是否为Person的子类。若成立,则打印‘我的父类是Person’,反之则打印‘父类正在查询中······’

8、初始化实例对象stu和stu_2,并根据上述效果图调用对应方法


任务提示

1、Person类中的实例方法relation( )为占位功能时,其方法体可用pass语句代替

2、使用issubclass()是判断是否是子类,第一个参数传入的是子类类名,第二个参数传入的是父类类名。



编程正文:

# coding:utf-8

class Person(object):
def __init__(self, name, sex):
self.name = name
self.sex = sex
def prinf_info(self):
print(f'我的名字是:{self.name},性别是:{self.sex}')

def seize(self):
pass
class Student(Person):
def __init__(self, name, sex, grade, major):
super().__init__(name, sex)
self.name = name
self.sex = sex
self.grade = grade
self.major = major
self._stu_num = '2018014002' def speak(self):
print('我的学号为:{},很高兴认识大家;'.format(self._stu_num))

def identify_stu(self):
if self._stu_num == '2018014002':
print('我的分组已经完成')
else:
print('请稍后,马上为你自动分组')

def set_num(self, new_num):
self._stu_num = new_num

def relation(self):
if issubclass(Student, Person):
print('我的父类是person')
else:
print('父类正则查询中...')

if __name__ == '__main__':
stu = Student('小明', '男', 90, '数学')
stu.speak()
stu.identify_stu()
stu.relation()
print('*' * 30)
stu_2 = Student('小红', '女', 89, '英语')
stu_2.set_num('2018040625')
stu_2.speak()
stu_2.identify_stu() 【本文转自:香港服务器 http://www.558idc.com/hk.html提供,感谢支持】
网友评论