【Python入门与进阶】Python面向对象编程练习

2024-06-13 21:28

本文主要是介绍【Python入门与进阶】Python面向对象编程练习,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

练习题 1:定义一个 Person

定义一个 Person 类,它有以下属性和方法:

  • 属性:

    • name(字符串):表示人的名字。
    • age(整数):表示人的年龄。
  • 方法:

    • __init__(self, name, age):构造方法,用于初始化 nameage
    • greet(self):打印 Hello, my name is [name] and I am [age] years old.
class Person:def __init__(self, name, age):self.name = nameself.age = agedef greet(self):print(f"Hello, my name is {self.name} and I am {self.age} years old.")

练习题 2:定义一个 Rectangle

定义一个 Rectangle 类,它有以下属性和方法:

  • 属性:

    • length(浮点数):表示矩形的长度。
    • width(浮点数):表示矩形的宽度。
  • 方法:

    • __init__(self, length, width):构造方法,用于初始化 lengthwidth
    • area(self):返回矩形的面积。
    • perimeter(self):返回矩形的周长。
class Rectangle:def __init__(self, length, width):self.length = lengthself.width = widthdef area(self):return self.length * self.widthdef perimeter(self):return 2 * (self.length + self.width)

练习题 3:定义一个 BankAccount

定义一个 BankAccount 类,它有以下属性和方法:

  • 属性:

    • account_number(字符串):表示银行账户号码。
    • balance(浮点数):表示账户余额。
  • 方法:

    • __init__(self, account_number, balance=0.0):构造方法,用于初始化 account_numberbalance
    • deposit(self, amount):用于存款,增加账户余额。
    • withdraw(self, amount):用于取款,减少账户余额。
    • get_balance(self):返回当前账户余额。
class BankAccount:def __init__(self, account_number, balance=0.0):self.account_number = account_numberself.balance = balancedef deposit(self, amount):if amount > 0:self.balance += amountdef withdraw(self, amount):if 0 < amount <= self.balance:self.balance -= amountdef get_balance(self):return self.balance

练习题 4:定义一个 Car

定义一个 Car 类,它有以下属性和方法:

  • 属性:

    • make(字符串):表示汽车的制造商。
    • model(字符串):表示汽车的型号。
    • year(整数):表示汽车的制造年份。
  • 方法:

    • __init__(self, make, model, year):构造方法,用于初始化 makemodelyear
    • description(self):返回汽车的描述信息,例如 "[year] [make] [model]"
class Car:def __init__(self, make, model, year):self.make = makeself.model = modelself.year = yeardef description(self):return f"{self.year} {self.make} {self.model}"

练习题 5:定义一个 Employee 类和 Manager

定义一个 Employee 类和一个 Manager 类,要求如下:

  • Employee 类:

    • 属性:
      • name(字符串):表示员工名字。
      • salary(浮点数):表示员工薪水。
    • 方法:
      • __init__(self, name, salary):构造方法,用于初始化 namesalary
      • get_details(self):返回员工的详细信息,例如 "Name: [name], Salary: [salary]"
  • Manager 类继承 Employee 类:

    • 属性:
      • department(字符串):表示经理管理的部门。
    • 方法:
      • __init__(self, name, salary, department):构造方法,用于初始化 namesalarydepartment
      • get_details(self):返回经理的详细信息,包括部门,例如 "Name: [name], Salary: [salary], Department: [department]"
class Employee:def __init__(self, name, salary):self.name = nameself.salary = salarydef get_details(self):return f"Name: {self.name}, Salary: {self.salary}"class Manager(Employee):def __init__(self, name, salary, department):super().__init__(name, salary)self.department = departmentdef get_details(self):return f"Name: {self.name}, Salary: {self.salary}, Department: {self.department}"

这篇关于【Python入门与进阶】Python面向对象编程练习的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1058468

相关文章

RedHat运维-Linux文本操作基础-AWK进阶

你不用整理,跟着敲一遍,有个印象,然后把它保存到本地,以后要用再去看,如果有了新东西,你自个再添加。这是我参考牛客上的shell编程专项题,只不过换成了问答的方式而已。不用背,就算是我自己亲自敲,我现在好多也记不住。 1. 输出nowcoder.txt文件第5行的内容 2. 输出nowcoder.txt文件第6行的内容 3. 输出nowcoder.txt文件第7行的内容 4. 输出nowcode

【Linux进阶】UNIX体系结构分解——操作系统,内核,shell

1.什么是操作系统? 从严格意义上说,可将操作系统定义为一种软件,它控制计算机硬件资源,提供程序运行环境。我们通常将这种软件称为内核(kerel),因为它相对较小,而且位于环境的核心。  从广义上说,操作系统包括了内核和一些其他软件,这些软件使得计算机能够发挥作用,并使计算机具有自己的特生。这里所说的其他软件包括系统实用程序(system utility)、应用程序、shell以及公用函数库等

C++必修:模版的入门到实践

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:C++学习 贝蒂的主页:Betty’s blog 1. 泛型编程 首先让我们来思考一个问题,如何实现一个交换函数? void swap(int& x, int& y){int tmp = x;x = y;y = tmp;} 相信大家很快就能写出上面这段代码,但是如果要求这个交换函数支持字符型

零基础STM32单片机编程入门(一)初识STM32单片机

文章目录 一.概要二.单片机型号命名规则三.STM32F103系统架构四.STM32F103C8T6单片机启动流程五.STM32F103C8T6单片机主要外设资源六.编程过程中芯片数据手册的作用1.单片机外设资源情况2.STM32单片机内部框图3.STM32单片机管脚图4.STM32单片机每个管脚可配功能5.单片机功耗数据6.FALSH编程时间,擦写次数7.I/O高低电平电压表格8.外设接口

Python 字符串占位

在Python中,可以使用字符串的格式化方法来实现字符串的占位。常见的方法有百分号操作符 % 以及 str.format() 方法 百分号操作符 % name = "张三"age = 20message = "我叫%s,今年%d岁。" % (name, age)print(message) # 我叫张三,今年20岁。 str.format() 方法 name = "张三"age

ps基础入门

1.基础      1.1新建文件      1.2创建指定形状      1.4移动工具          1.41移动画布中的任意元素          1.42移动画布          1.43修改画布大小          1.44修改图像大小      1.5框选工具      1.6矩形工具      1.7图层          1.71图层颜色修改          1

C++入门01

1、.h和.cpp 源文件 (.cpp)源文件是C++程序的实际实现代码文件,其中包含了具体的函数和类的定义、实现以及其他相关的代码。主要特点如下:实现代码: 源文件中包含了函数、类的具体实现代码,用于实现程序的功能。编译单元: 源文件通常是一个编译单元,即单独编译的基本单位。每个源文件都会经过编译器的处理,生成对应的目标文件。包含头文件: 源文件可以通过#include指令引入头文件,以使

一道经典Python程序样例带你飞速掌握Python的字典和列表

Python中的列表(list)和字典(dict)是两种常用的数据结构,它们在数据组织和存储方面有很大的不同。 列表(List) 列表是Python中的一种有序集合,可以随时添加和删除其中的元素。列表中的元素可以是任何数据类型,包括数字、字符串、其他列表等。列表使用方括号[]表示,元素之间用逗号,分隔。 定义和使用 # 定义一个列表 fruits = ['apple', 'banana

Python应用开发——30天学习Streamlit Python包进行APP的构建(9)

st.area_chart 显示区域图。 这是围绕 st.altair_chart 的语法糖。主要区别在于该命令使用数据自身的列和指数来计算图表的 Altair 规格。因此,在许多 "只需绘制此图 "的情况下,该命令更易于使用,但可定制性较差。 如果 st.area_chart 无法正确猜测数据规格,请尝试使用 st.altair_chart 指定所需的图表。 Function signa

python实现最简单循环神经网络(RNNs)

Recurrent Neural Networks(RNNs) 的模型: 上图中红色部分是输入向量。文本、单词、数据都是输入,在网络里都以向量的形式进行表示。 绿色部分是隐藏向量。是加工处理过程。 蓝色部分是输出向量。 python代码表示如下: rnn = RNN()y = rnn.step(x) # x为输入向量,y为输出向量 RNNs神经网络由神经元组成, python