python-17-零基础自学python-

news2024/11/20 7:13:01

学习内容:《python编程:从入门到实践》第二版

知识点:

类、子类、继承、调用函数

练习内容:

练习9-6:冰激凌小店

冰激凌小店是一种特殊的餐馆。编写一个名为IceCreamStand的类,让它继承为完成练习9-1或练习9-4而编写的Restaurant类。这两个版本的Restaurant类都可以,挑选你更喜欢的那个即可。添加一个名为flavors的属性,用于存储一个由各种口味的冰激凌组成的列表。编写一个显示这些冰激凌的方法。创建一个IceCreamStand实例,并调用这个方法。

我的代码&运行结果:

class Restaurant:
    def __init__ (self,restaurant_name,cuisine_type):
        self.restaurant_name = restaurant_name
        self.cuisine_type = cuisine_type
        
    def describe_restaurant(self):
        print(f"餐馆名,{self.restaurant_name}")
        print(f"餐馆类型,{self.cuisine_type}\n")
        
    def open_restaurant(self):
        print(f"{self.restaurant_name}正在营业中~\n")

class IceCreamStand(Restaurant):#加上父类
    def __init__(self,restaurant_name,cuisine_type):
        super().__init__(restaurant_name,cuisine_type)
        self.flavors = 5

    def describe_icecream(self):
        print(f"这里有{self.flavors}种口味的冰淇淋,分别是:草莓、巧克力、抹茶、芒果和原味")

icecream1 = IceCreamStand('DQ','冰淇淋店')
icecream1.describe_restaurant()
icecream1.open_restaurant()
icecream1.describe_icecream()

练习

注意点:

1.建立子类时,和父类关联的方法中,需要加self

2.super().这一句注意格式,和不需要加self,

如果出现这样的报错,就是属性的数量不一样了,需要再检查是否有写self之类的。

3.flavor的属性储存一个列表,我没有想好,一开始出现了以下报错:

一个方面是super后面没加(),另一方面是我对照课本后,flavors这个地方一般是数据,且,如果我需要和列表一起打印出来,不知道怎么做,我选择,把flavors作为一个口味总数,print的时候,分别概述不同的口味,我不知道对不对,是不是投机解题了。最后反正是打印出来的。

修改了代码如下,想要缩减flavors =['巧克力','抹茶','草莓','芒果','原味'],都会报错

class Restaurant:
    def __init__ (self,restaurant_name,cuisine_type):
        self.restaurant_name = restaurant_name
        self.cuisine_type = cuisine_type
        
    def describe_restaurant(self):
        print(f"餐馆名,{self.restaurant_name}")
        print(f"餐馆类型,{self.cuisine_type}\n")
        
    def open_restaurant(self):
        print(f"{self.restaurant_name}正在营业中~\n")

class IceCreamStand(Restaurant):
    def __init__(self,restaurant_name,cuisine_type):
        super().__init__(restaurant_name,cuisine_type)#这里加flavors会显示not define
        flavors =['巧克力','抹茶','草莓','芒果','原味']#去掉报错,flavors会显示not define
        self.flavors = flavors

    def describe_icecream(self):
        flavors =['巧克力','抹茶','草莓','芒果','原味']#去掉报错,flavors会显示not define
        for flavor in flavors:
            print(f"这里的口味有{flavor}")

icecream1 = IceCreamStand('DQ','冰淇淋店')
icecream1.describe_restaurant()
icecream1.open_restaurant()
icecream1.describe_icecream()

总结&问题:

问题就是不知道列表这么写,是否合适。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1863422.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

spring原理篇

第三方bean默认为方法名 自动配置 自动配置的原理 springboot的自动配置原理 首先是从 SpringBootApplication这个注解出发 有一个ComponentScan()默认扫描同级包及其子包 第二个注解是springbootconfiguration 声明当前类是一个配置类 第三个是核心 enableAutoConfigurati…

HRSC2016 :推动光学遥感图像细粒度船舶检测的创新引擎(目标检测)

亲爱的读者们,您是否在寻找某个特定的数据集,用于研究或项目实践?欢迎您在评论区留言,或者通过公众号私信告诉我,您想要的数据集的类型主题。小编会竭尽全力为您寻找,并在找到后第一时间与您分享。 摘要&a…

华为OD机试【高矮个子排队】(java)(100分)

1、题目描述 现在有一队小朋友,他们高矮不同,我们以正整数数组表示这一队小朋友的身高,如数组{5,3,1,2,3}。 我们现在希望小朋友排队,以“高”“矮”“高”“矮”顺序排列,每一个“高”位置的小朋友要比相邻的位置高或…

pp 学习一 生产模块主数据

生产成本:原材料是什么,价格多少,人工耗费时间,以及其他的费用 离散制造:有生产订单。工序是分开的(可以停) 重复制造:没有生产订单(可能有客户下达的任务单或者计划订…

昇思MindSpore基本介绍

昇思MindSpore是一个全场景深度学习框架,旨在实现易开发、高效执行、全场景统一部署三大目标。 其中,易开发表现为API友好、调试难度低;高效执行包括计算效率、数据预处理效率和分布式训练效率;全场景则指框架同时支持云、边缘以…

学习TTS遇到的问题2 什么是TCN模型

学习TTS遇到的问题2 什么是TCN模型 什么是TCN模型怎么理解 TCN中的 dilation?什么是 Dilation具体例子数学表达作用例子代码示例 什么是TCN模型 https://juejin.cn/post/7262269863343079479 https://blog.csdn.net/weixin_57726558/article/details/132163074 由下…

【计算机网络仿真】b站湖科大教书匠思科Packet Tracer——实验9 IPv4地址 — 划分子网

一、实验目的 1.学习划分子网的方法; 2.验证子网掩码的作用。 二、实验要求 1.使用Cisco Packet Tracer仿真平台; 2.观看B站湖科大教书匠仿真实验视频,完成对应实验。 三、实验内容 1.构建网络拓扑; 2.划分子网; …

涵盖多项功能的文件外发系统,了解一下

伴随着业务范围的不断扩大,信息化的迅速发展,企业与客户、供应商等合作伙伴之间的文件交换也愈加频繁,尤其涉及到核心数据,像核心技术、设计图纸等敏感数据,对其的保护也是越发重视。文件外发系统,应运而生…

CRS-1621: The IPMI configuration data CRS-1617: The information CRS-8503

环境介绍 19c rac 两个节点 现象描述: 2个节点的rac,只有节点1正常,节点2启动的时候,一直卡在 这里不动,当将节点1关闭后,再次重启的时候,也是卡在这里,最终会报错 在cssd日志中有…

.NET 一款系统遥测实现权限维持的工具

01阅读须知 此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失&#xf…

《山西化工》是什么级别的期刊?是正规期刊吗?能评职称吗?

问题解答 问:《山西化工》是不是核心期刊? 答:不是,是知网收录的第一批认定学术期刊。 问:《山西化工》级别? 答:省级。主办单位:山西省工业和信息化厅 主管单位:山…

【大数据技术原理与应用(概念、存储、处理、分析与应用)】第2章-大数据处理架构 Hadoop习题与知识回顾

文章目录 单选题多选题知识点回顾什么是Hadoop?Hadoop有哪些特性?Hadoop生态系统是怎么样的?(1) HDFS(2) HBase(3) MapReduce(4) Hive(5) Pig(6) Mahout(7) Zookeeper(8) Flume(9) Sqoop(10) Ambari 单选题 1、下列哪个不属于Hadoop的特性&am…

Docker - Oracle Database 23ai Free

博文目录 文章目录 说明命令NavicatSYSTEMPDBADMIN 扩展公共用户本地用户 说明 Oracle 官方镜像仓库 Database 23ai Free | Oracle Docker 官方没有提供 Oracle Database 相关镜像, 但是 Oracle 官方镜像仓库有提供, 打开上面的链接, 选择 Database, 选择合适的版本, 如 enter…

kafka-高级篇(下载安装、快速入门、使用场景)

文章目录 Kafka介绍Kafka使用场景kafka概述和安装kafka概述kafka安装配置 kafka快速入门创建项目导入依赖发送消息接收消息 kafka生产者详解发送类型参数详解 kafka消费者详解消息有序性Kafka消息有序性提交和偏移量 更多相关内容可查看 Kafka介绍 Apache Kafka是一个开源的分…

BarTender版软件下载及安装教程

​根据行业数据显示强大的配套应用软件甚至能够管理系统安全性、网络打印功能、文档发布、打印作业记录等,为满足不同的需要和预算,BarTender 提供四个版本,每个都拥有卓越的功能和特性。根据软件大数据显示多国语言支持:轻松设计…

web刷题记录

[HDCTF 2023]SearchMaster 打开环境,首先的提示信息就是告诉我们,可以用post传参的方式来传入参数data 首先考虑的还是rce,但是这里发现,不管输入那种命令,它都会直接显示在中间的那一小行里面,而实际的命令…

[分布式网络通讯框架]----RPC通信原理以及protobuf的基本使用

RPC (Remote Procedure Call Protocol)远程过程调用协议。 RPC特点 RPC协议:目前典型的RPC实现包括:Dubbo、Thrift、GRPC、Hetty等。网络协议和网络IO模型透明:RPC客户端认为自己是在调用本地对象,无需关…

Redis之优惠券秒杀

文章目录 全局ID生成器添加优惠券实现优惠券秒杀下单超卖问题悲观锁和乐观锁相关文章乐观锁执行逻辑乐观锁解决超卖问题 一人一单功能超卖问题相关文章一人一单执行逻辑代码实现集群模式下锁失效 分布式锁基于Redis的分布式锁Redis实现分布式锁流程实现分布式锁初级版本分布式锁…

2024年河北省特岗教师报名流程详细图解

最近有很多学员们问特岗教师具体的报名流程 给大家安排! 特岗报名步骤 第步: 电脑搜索“河北特岗招聘”登录进行注册 第步:注册后重新登录 第步: 根据个人情况选择填写自己的学历 第步:填写个人信息 (需要上传的电子版的照片、普通话证、学历证书、教资证等) 第步:选择岗位报名…

【源码+文档+调试讲解】企业人才引进服务平台

摘 要 随着信息时代的来临,过去的传统管理方式缺点逐渐暴露,对过去的传统管理方式的缺点进行分析,采取计算机方式构建企业人才引进服务平台。本文通过课题背景、课题目的及意义相关技术,提出了一种企业信息、招聘信息、应聘信息等…