1.练习
1.类联系
1.定义一个圆的类计算其面积和周长
#类练习
import math
class Circle:
def __init__(self,r):
self.r=r
def get_area(self):
return pow(self.r,2)
def get_perimeter(self):
return 2*math.pi*self.r
a=eval(input('请输入半径:'))
b=Circle(a)
print(b.get_perimeter(),b.get_area())
2.定义学生录入5个学生信息存储到列表中
定义学生类录入5个学生信息存储到列表中需求:定义学生类Student,包含姓名,年龄,性别,分数四个属性提供一个用于学员信息输出的方法info(self)。编写测试代码,使用循环录入5位学生的信息,由于录入的学生信息中间使用“#进行分隔,所以需要使用字符串的split0方法,进行劈分,使用劈分的信息创建学生对象,使用列表存储学生信息,最后使用循环遍历列表,调用象的info0方法输出学员信息。
split()
#定义学生录入5个学生信息存储到列表中 yyl#20#男#100
class Student:
def __init__(self,name,age,gender,scores):
self.name=name
self.age=age
self.gender=gender
self.scores=scores
def info(self):
print(f'{self.name}的年龄是{self.age},性别是{self.gender},分数是{self.scores}')
stu_lst=[]
for i in range(5):
im=input('输入学生的信息,以#作为分隔符:')
im1=im.split('#') #返回一个列表
#创建对象
stu=Student(im1[0],im1[1],im1[2],im1[3])
stu_lst.append(stu )#现在列表里面是四个对象
print(stu_lst)
for j in range(len(stu_lst)):
stu1=stu_lst[j]#调用列表的第一个,也就是第一个对象
stu1.info()#直接调用,因为函数定义的时候已经有了Print函数,再拼一个print 函数会返回None
3.父类、子类方法重写
#父类和子类的方法重写
class Instrument():
def make_sound(self):
pass
class Erhu(Instrument):
def make_sound(self):
print('erhu在弹奏')
class Piano(Instrument):
def make_sound(self):
print('piano在弹奏')
class Vionlin(Instrument):
def make_sound(self):
print('xiaotiqin在弹奏')
def play(instrument):
instrument.make_sound()
erhu=Erhu()
piano=Piano()
vionlin=Vionlin()
play(erhu)
play(piano)
play(vionlin)