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()
相关推荐
Amo Xiang22 分钟前
《100天精通Python——基础篇 2025 第5天:巩固核心知识,选择题实战演练基础语法》
python·选择题·基础语法
江梦寻31 分钟前
MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)
开发语言·后端·python·macos·架构·策略模式
霖檬ing34 分钟前
Python——MySQL远程控制
开发语言·python·mysql
miniwa37 分钟前
Python编程精进:CSV 模块
python
老胖闲聊8 小时前
Python Copilot【代码辅助工具】 简介
开发语言·python·copilot
Blossom.1188 小时前
使用Python和Scikit-Learn实现机器学习模型调优
开发语言·人工智能·python·深度学习·目标检测·机器学习·scikit-learn
曹勖之8 小时前
基于ROS2,撰写python脚本,根据给定的舵-桨动力学模型实现动力学更新
开发语言·python·机器人·ros2
lyaihao9 小时前
使用python实现奔跑的线条效果
python·绘图
ai大师10 小时前
(附代码及图示)Multi-Query 多查询策略详解
python·langchain·中转api·apikey·中转apikey·免费apikey·claude4
小小爬虾10 小时前
关于datetime获取时间的问题
python