Python实战:类

一、圆的面积、周长

python 复制代码
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个学生信息存储到列表

python 复制代码
# 姓名、年龄、性别、分数、学生信息输出的方法
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()

运行结果:

三、使用面向对象思想实现乐器弹奏

python 复制代码
# 父类
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)

运行结果:

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

python 复制代码
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()
相关推荐
西柚与蓝莓37 分钟前
【开源开放体系总结】
python
belldeep4 小时前
python:reportlab 将多个图片合并成一个PDF文件
python·pdf·reportlab
FreakStudio6 小时前
全网最适合入门的面向对象编程教程:56 Python字符串与序列化-正则表达式和re模块应用
python·单片机·嵌入式·面向对象·电子diy
丶21366 小时前
【CUDA】【PyTorch】安装 PyTorch 与 CUDA 11.7 的详细步骤
人工智能·pytorch·python
_.Switch7 小时前
Python Web 应用中的 API 网关集成与优化
开发语言·前端·后端·python·架构·log4j
一个闪现必杀技7 小时前
Python入门--函数
开发语言·python·青少年编程·pycharm
小鹿( ﹡ˆoˆ﹡ )8 小时前
探索IP协议的神秘面纱:Python中的网络通信
python·tcp/ip·php
卷心菜小温8 小时前
【BUG】P-tuningv2微调ChatGLM2-6B时所踩的坑
python·深度学习·语言模型·nlp·bug
陈苏同学8 小时前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
唐家小妹8 小时前
介绍一款开源的 Modern GUI PySide6 / PyQt6的使用
python·pyqt