python面向对象案例--买水果
python面向对象案例–买水果
知识点讲解
面向对象基础
我今天讲的用一句话概括就是对象是可以被当做参数传递的,这句话很精髓
在你看到这篇文章时,你至少要了解,对象,类,方法,属性这些概念
买水果案例
# 案例 --买水果
# 水果超市,苹果:20,梨子:10,桃子:5,橘子:3
# 问题:买水果
# 1.抽象出对象:水果,你
# 2.各个对象实现自己的功能(抽象出对象的属性和方法)
# 水果:方法无,属性价格,名字
# 人:方法买水果,属性钱,名字
# 3.使用对象去解决问题 人去买水果# 代码要符合pep8规范(ctrl+alt+l)
class Fruit:"""水果类"""def __init__(self, name, price):"""创建实例自动调用该方法,初始化方法,是一个魔法方法"""self.price = priceself.name = namedef __str__(self):"""必须返回一个字符串"""return "{}的价是{}元".format(self.name, self.price)class Man:"""人"""def __init__(self, name, money):self.name = nameself.money = moneydef __str__(self):return "{}有{}元".format(self.name, self.money)def buy(self, fruit, quanlity): # fruit = apple"""买水果1.你挑选水果:3斤苹果2.结账:物物交换,总的钱-水果的钱=剩下的钱fruit: 水果quanlity: 数量:return: None"""total_money_fruit = fruit.price*quanlityif self.money < total_money_fruit:print("{}只有{}元,买不了{}元水果".format(self.name, self.money, total_money_fruit))else:self.money = self.money - total_money_fruitprint("{}购买{}斤{}成功,还剩{}元".format(self.name, quanlity, fruit.name, self.money))if __name__ == '__main__':apple = Fruit('苹果', 20)pear = Fruit('梨子', 10)peach = Fruit('桃子', 5)orange = Fruit('橘子', 3)print(apple)print(pear)print(peach)print(orange)print('==========================')you = Man('你', 50)me = Man('我', 5)print(you)print(me)print('===========================')you.buy(apple, 2)you.buy(orange, 1)me.buy(orange, 1)print("坐个公交车回家")
对象被当做参数传递,函数对象,实力对象,类对象,各种对象,传递前后对象的属性和方法没有发生变化
python面向对象案例--买水果相关推荐
- Python面向对象案例汇总
Python面向对象案例汇总 简介 Python是一门面向对象的语言,用这种思想为指导设计的程序,把数据和对数据的操作封装在一起组成类,通过类来创建对象,通过对象之间的交互来实现程序的功能. 定义个空 ...
- 小试牛刀---用python实现超市买水果
17.超市买水果 (1).输入自己所有的钱. (2)展示商品的序号,名称及其价格. (3)输入要买商品的序号. (4)输入要买商品的数量. (5)购物车中显示购买的水果名称及其对应的数量和剩余钱. ( ...
- Python基础---超市买水果小程序
超市买水果 (1).输入自己所有的钱. (2)展示商品的序号,名称及其价格. (3)输入要买商品的序号. (4)输入要买商品的数量. (5)购物车中显示购买的水果名称及其对应的数量和剩余钱. (6)如 ...
- python面向对象三大特性_Python面向对象之多态原理与用法案例分析
本文实例讲述了Python面向对象之多态原理与用法.分享给大家供大家参考,具体如下: 目标 多态 面向对象三大特性 封装 根据 职责 将 属性 和 方法 封装 到一个抽象的 类 中 定义类的准则 继承 ...
- python面向对象类属性_python面向对象之类属性和类方法案例分析
本文实例讲述了python面向对象之类属性和类方法.分享给大家供大家参考,具体如下: 目标 类的结构 类属性和实例属性 类方法和静态方法 01. 类的结构 1.1 术语 -- 实例 使用面相对象开发, ...
- python 面向对象的封装_Python面向对象封装操作案例详解
本文实例讲述了Python面向对象封装操作.分享给大家供大家参考,具体如下: 目标 封装 小明爱跑步 存放家具 01. 封装 封装 是面向对象编程的一大特点 面向对象编程的 第一步 ―― 将 属性 和 ...
- Python小程序之超市买水果
目录 1.题目 (1)输入自己所有的钱. (2)展示商品的序号,名称及其价格. (3)输入要买商品的序号. (4)输入要买商品的数量. (5)购物车中显示购买的水果名称及其对应的数量和剩余钱. (6) ...
- 思维导图:python面向对象(搞笑案例)
关联阅读:可能是最全的 Python 面向对象入门教程了 手机版本 关联阅读:可能是最全的 Python 面向对象入门教程了 Python面向对象 面向对象入门 对象编程体验 一款简单自动运行小游戏模 ...
- 简明python教程怎么买-简明python教程在哪买!《简明python教程》 下载地址?
哪有python编程入门经典教程 给大家整理的python学习路线图,按照此教程步步的学习,肯对python有更深刻的认识.或许可以上python这个易学,精简,开源的语言.此套教程,不但有视频教程, ...
最新文章
- 使用GetProcAddress获取ZwUnmapViewOfSection函数指针
- jquery datatable搜索框添加按钮,改变keypress搜索为点击按钮搜索
- TOP互联网公司都在用,为什么SRE比传统运维更抢手?
- 匿名内部类----java
- jQuery进行DOM操作记录
- ECS之Component组件
- java如何等待异步结果_如何等待异步方法完成?
- android自定义控件.pdf,android自定义控件实例(linearlayout组合textview和imageview).pdf
- Unity3D 常用快捷键
- 怎样绘制产品流程图?绘制的技巧分享
- linux syn 队列,TCP SYN队列与Accept队列详解
- Dejal Simon for Mac(服务器监控程序)
- 清华操作系统实验lab1
- thinkadmin搜索功能/下拉选项
- 为什么程序中用双引号括起来的宏在预处理的时候是不会被宏替换的。
- Python数据可视化matplotlib(一)—— 图表的基本元素
- 如何使用TensorRT加速深度学习推理
- 题目:用D触发器带同步高置数和异步高复位端的二分频的电路,画出逻辑电路,Verilog描述。
- freebsd的swatch安装和使用
- 阿piu传-文档批量上传客户端-道客巴巴版使用帮助