【Python】类

1.计算圆的面积和周长

class Circle:
    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('enter radius:'))#input函数输入的是字符串,需要用eval函数转换成数值类型
c=Circle(r)
area=c.get_area()
perimeter=c.get_perimeter()
print(area,perimeter)

 

2.定义学生类并录入5个学生信息存储到列表中

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('enter 5 students information:(name#age#gender#score)')
lst=[]
for i in range(1,6):
    s=input(f'enter no.{i} student information')
    s_lst=s.split('#')
    stu=Student(s_lst[0],s_lst[1],s_lst[2],s_lst[3])
    lst.append(stu)

for item in lst:#item和lst里的元素的数据类型是Student类型
    item.info()

 

3.使用面向对象思想实现乐器弹奏(方法重写及多态)

class Instrument():
    def make_sound(self):
        pass
    
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)

 

 4.使用面向对象的思想,设计自定义类,描述出租车和家用轿车的信息

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}出租车公司,我的车牌是:{self.no},您要去哪里?')

    def stop(self):
        print('目的地到了,请扫码付款,欢迎下次乘坐')

class Family(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('上海大众','京A88888','大众')
taxi.start()
taxi.stop()

print('-'*50)

familycar=Family('问界','京A00000','李二')
familycar.start()
familycar.stop()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值