需求:
定义一个圆类-Circle ,提供一个属性 r(半径),提供两个方法:
计算圆的面积 get_area(self) 和计算圆的周长 get_perimeter(self)
通过两个方法计算圆的周长和面积并且对计算结果进行输出,最后从键盘录入半径
创建圆类的对象,并调用计算面积和周长的方法输出面积和周长
class Circle():
def __init__(self,r):
self.r=r
#计算面积的方法
def get_area(self):
#return 3.14*self.r*self.r
return 3.14*pow(self.r,2)
#计算周长的方法
def get_perimeter(self):
return 2*3.14*self.r
# 创建对象
r=eval(input('请输入圆的半径:'))
#调用方法
c=Circle(r)
area=c.get_area()
perimeter=c.get_perimeter()
print('圆的面积为:',area)
print('圆的周长为:',perimeter)
运行结果:
D:\Python_Home\venv\Scripts\python.exe D:\Python_Home\chap9\实战1-定义一个圆的类计算面积和周长.py
请输入圆的半径:5
圆的面积为: 78.5
圆的周长为: 31.400000000000002
需求:
定义学生类Student,包含姓名,年龄,性别,分数四个属性
提供一个用于学员信息输出的方法 info(self).编写测试代码
使用循环录入5为学生的信息,由于录入的学生信息中间使用 "#"进行分隔
所以需要使用字符串的 split()方法,进行 劈分,使用 劈分的信息创建学生对象
使用列表存储学生信息,最后使用循环列表,调用对象的 info() 方法输出学员信息
class Student():
def __init__(self, name, age, gender, score):
self.name = name
self.age = age
self.gender = gender
self.score = score
def info(self):
print(self.name, self.age, self.gender, self.score)
print('请输入5位学生信息:(姓名#年龄#性别#成绩)')
lst = [] # 存储5个学生对象
for i in range(1, 6):
s = input(f'请输入第{i}位学生信息及成绩')
s_lst = s.split('#') # 索引0是姓名,索引1为年龄,索引2是性别,索引3是成绩
# 创建学生对象
stu = Student(s_lst[0], s_lst[1], s_lst[2], s_lst[3])
# 将学生对象添加到列表中
lst.append(stu)
# 遍历列表,调用学生对象的 info 方法
for item in lst:
item.info()
运行结果:
D:\Python_Home\venv\Scripts\python.exe D:\Python_Home\chap9\实战2-定义学生类录入5个学生信息存储到列表中.py
请输入5位学生信息:(姓名#年龄#性别#成绩)
请输入第1位学生信息及成绩zhangsan#19#男#60
请输入第2位学生信息及成绩李四#20#男#70
请输入第3位学生信息及成绩王五#21#男#90
请输入第4位学生信息及成绩赵六#22#男#98
请输入第5位学生信息及成绩陈六#23#男#100
zhangsan 19 男 60
李四 20 男 70
王五 21 男 90
赵六 22 男 98
陈六 23 男 100
需求:
乐手可以弹奏不同的乐器从而发出不同的声音。可以弹奏的乐器
包括二胡,钢琴和琵琶。乐器定义类 Instrument,包括方法 make_sound()
定义乐器类的子类: 二胡 Erhu 钢琴 Pinao 和小提琴 Violin
定义一个函数可以弹奏各种乐器 play(instrument)
测试给 乐手不同的乐器让他弹奏
class Instrument():
def make_sound(self):
pass
class Erhu(Instrument):
def make_sound(self):
print('二胡在弹奏')
class Pinao(Instrument):
def make_sound(self):
print('钢琴在弹奏')
class Violin(Instrument):
def make_sound(self):
print('小提琴在弹奏')
# 编写一个函数
def play(obj):
obj.make_sound()
# 测试
er = Erhu()
piano = Pinao()
vio=Violin()
#调用方法
play(er)
play(piano)
play(vio)
运行结果:
D:\Python_Home\venv\Scripts\python.exe D:\Python_Home\chap9\实战3-使用面向对象思想实现乐器弹奏.py
二胡在弹奏
钢琴在弹奏
小提琴在弹奏