一、圆的面积、周长
class Circle:
# 初始化一个类参数:r
def __init__(self,r):
self.r = r
# 计算面积的方法
def get_area(self):
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)
运行结果:
二、定义学生类录入5个学生信息存储到列表
# 姓名、年龄、性别、分数、学生信息输出的方法
class Student:
def __init__(self,name,age,sex,score):
self.name = name
self.age = age
self.sex = sex
self.score = score
def info(self):
print("姓名:",self.name,",年龄:",self.age,",性别:",self.sex,",分数:",self.score)
print('请输入5位学生的信息:(姓名#年龄#性别#成绩)')
lst = [] # 用于存储5个学生对象
for i in range (0,5):
s = input(f'请输入学生第{i+1}位学生的信息及成绩:')
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()
运行结果:
三、使用面向对象思想实现乐器弹奏
# 父类
class Instrument:
def make_sound(self):
pass
#Erhu集成Instrument类
class Erhu(Instrument):
#重写父类方法
def make_sound(self):
print('二胡在弹奏')
class Piano(Instrument):
def make_sound(self):
print('钢琴在弹奏')
class Violin(Instrument):
def make_sound(self):
print('小提琴在弹奏')
#编写函数
def play(obj):
obj.make_sound()
er = Erhu()
piano = Piano()
vio = Violin()
#调用方法
play(er)
play(piano)
play(vio)
运行结果:
四、使用面向对象思想,设计自定义类,描述出租车和家用轿车的信息
class Car(object):
def __init__(self,type,no): # 车型、车牌号
self.type = type
self.no = no
def start(self):
print('我是车,我能启动')
def stop(self):
print('我是车,我能停止')
class Taxi(Car):
def __init__(self, type, no,company):
super().__init__(type, no)
self.company = company
#重写父类的启动和停止方法
def start(self):
print('乘客您好!')
print(f'我是{self.company}c出租车公司,我的车牌是:{self.no},您要去哪里?')
def stop(self):
print('目的地到了,请您扫码付款,欢迎下次乘坐')
class FamilyCar(Car):
def __init__(self, type, no,name):
super().__init__(type, no)
self.name = name
def start(self):
print(f'我是{self.name},我的轿车我做主')
def stop(self):
print('目的地到了,我们去玩吧')
#编写测试
taxi = Taxi('上海大众','9999','长城')
taxi.start()
taxi.stop()
family_car = FamilyCar('上海大众','9999','张三')
family_car.start()
family_car.stop()