• 视频、源码、课件、软件、笔记:超全面Python基础入门教程【十天课程】博客笔记汇总表【黑马程序员】
  • Python基础day08【面向对象(类、对象、属性)、魔方方法(init、str、del、repr)】

目录

1、加强训练

题目1 [加强训练]

题干

训练目标

训练提示

参考方案

操作步骤

参考答案

题目2 [加强训练]

题干

训练目标

训练提示

参考方案

参考步骤

参考答案

题目3 [加强训练]

题干

训练目标

训练提示

参考方案

参考步骤

参考答案

题目4 [加强训练]

题干

训练目标

训练提示

参考方案

参考步骤

参考答案

题目5 [加强训练]

题干

训练目标

训练提示

参考方案

参考步骤

参考答案

题目6 [加强训练]

题干

训练目标

训练提示

参考方案

参考步骤

参考答案

2、综合训练

题目7 [综合训练]

题干

训练目标

训练提示

参考方案

参考步骤

参考答案


1、加强训练

题目1 [加强训练]

题干

定义一个Star类(明星类), 通过明星类创建一个zhou_xing_chi对象。

训练目标

  1. 类的定义

  2. 创建对象

训练提示

  1. 如何定义类?

  2. 类名要满足什么规则?

  3. 如何创建对象

  4. 类的三大构成是什么?

参考方案

  • 定义类关键字 class

class 类名(object):
            pass

  • 类名要满足标识符规则和大驼峰规范

  • 可以通过变量 = 类名()来创建对象

  • 类的构成是:类名, 属性,方法

操作步骤

  1. 使用class关键字创建类

  2. 使用类创建对象

参考答案

class Star(object):passzhou_xing_chi = Star()

题目2 [加强训练]

题干

  1. 定义一个Star类(明星类), 通过明星类创建一个zhou_xing_chi对象;
  2. 给对象添加属性;
  3. 明星姓名= “周星驰”;
  4. 明星的电影 = “功夫”。

训练目标

给对象添加属性

训练提示

如何给对象添加属性?

参考方案

添加属性方法:对象名.属性名 = 值

参考步骤

  1. 定义类

  2. 创建对象

  3. 添加属性

参考答案

class Star(object):passzhou_xing_chi = Star()
zhou_xing_chi.name = '周星驰'
zhou_xing_chi.movie = "功夫"

题目3 [加强训练]

题干

  1. 定义一个star类(明星类), 通过明星类创建一个zhou_xing_chi对象;
  2. 使用init方法给对象添加name 和 movie属性。

训练目标

  1. init的使用

  2. 带有参数的init

训练提示

  1. init方法的作用?

  2. init方法在什么时候调用?

  3. init的参数都代表什么?

参考方案

使用init方法给对象添加属性

参考步骤

  1. 创建对象

  2. 定义init方法,并且重新赋值

参考答案

class Star():def __init__(self, name, movie):self.name = nameself.movie = moviezhou_xing_chi = Star('周星驰', "功夫")

题目4 [加强训练]

题干

  1. 定义一个star类(明星类), 通过明星类创建一个zhou_xing_chi对象;
  2. 使用init方法给对象添加属性;
  3. 定义方法playing(),打印“xxx出演了yyy,非常好看”。

训练目标

self的使用

训练提示

  1. 如何在类中定义方法?

  2. 方法的参数都有哪些?

  3. self指的是什么?

  4. 如何调用方法?

参考方案

  1. 使用self保存私有属性

  2. 调用方法打印结果

参考步骤

  1. 创建对象

  2. 初始化

  3. 定义方法

  4. 创建对象

  5. 打印结果

参考答案

class Star(object):def __init__(self, name, movie):self.name = nameself.movie = moviedef playing(self):print("%s出演了%s,非常好看。" % (self.name, self.movie))zhou_xing_chi = Star('周星驰', "功夫")
zhou_xing_chi.playing()

题目5 [加强训练]

题干

  1. 定义一个star类(明星类), 通过明星类创建一个zhou_xing_chi对象;
  2. 使用init方法给对象添加属性;
  3. print输出对象时打印"xxx是我的偶像,我非常喜欢他的电影yyy";
  4. xxx为明星姓名,yyy是电影的名字。

训练目标

str方法的使用

训练提示

  1. str方法的作用是什么?

  2. str方法的参数有哪些?

  3. str是否有返回值?

参考方案

  • 使用str方法用来显示信息;

  • 该方法需要 return 一个数据,并且只有self一个参数,当在类的外部 print(对象) 则打印这个数据。

参考步骤

  1. 定义类

  2. 初始化属性

  3. 定义str方法

  4. 创建对象

  5. 打印对象

参考答案

class Star(object):def __init__(self, name, movie):self.name = nameself.movie = moviedef __str__(self):return "%s是我的偶像,我非常喜欢他的电影%s。" % (self.name, self.movie)zhou_xing_chi = Star('周星驰', "功夫")
print(zhou_xing_chi)

题目6 [加强训练]

题干

  1. 定义一个star类(明星类), 通过明星类创建一个zhou_xing_chi对象;
  2. 使用init方法给对象添加属性;
  3. 删除创建的对象,打印“我不喜欢xxx了”。

训练目标

del方法的使用

训练提示

  • del方法的作用是什么?

  • del方法什么时候调用?

参考方案

  1. 当删除对象时,python解释器也会默认调用一个方法,这个方法为__del__()方法;

  2. 当有变量保存了一个对象的引用时,此对象的引用计数就会加1;

  3. 当使用del() 删除变量指向的对象时,则会减少对象的引用计数。如果对象的引用计数不为1,那么会让这个对象的引用计数减1,当对象的引用计数为0的时候,则对象才会被真正删除(内存被回收)。

参考步骤

  1. 创建类

  2. 初始化

  3. 定义del方法

  4. 创建对象

  5. 调用del方法

参考答案

class Star(object):def __init__(self, name, movie):self.name = nameself.movie = moviedef __del__(self):print("我不喜欢%s了。" % self.name)zhou_xing_chi = Star('周星驰', "功夫")
print(zhou_xing_chi)
del (zhou_xing_chi)

2、综合训练

题目7 [综合训练]

题干

a.定义一个Star类(明星类),包含初始化init方法:

成员属性:明星姓名

明星的电影

成员方法:playing()

打印:“xxx出演了yyy,非常好看”

打印对象时显示“xxx是我的偶像,我非常喜欢他的电影yyy”

删除对象提示“xxx我不再喜欢了”

xxx为明星姓名,yyy是电影的名字

b.键盘循环输入五个Star对象的姓名和电影名。

c.分别调用输入Star对象的playing方法和打印对象

请输入你喜欢的明星:周星驰
        请输入电影名功夫
        请输入你喜欢的明星:刘德华
        请输入电影名狄仁杰
        请输入你喜欢的明星:周润发
        请输入电影名赌神
        周星驰出演了功夫,非常好看
        周星驰是我的偶像,我非常喜欢他的电影功夫
        刘德华出演了狄仁杰,非常好看
        刘德华是我的偶像,我非常喜欢他的电影狄仁杰
        周润发出演了赌神,非常好看
        周润发是我的偶像,我非常喜欢他的电影赌神
        我不喜欢周星驰了
        我不喜欢刘德华了
        我不喜欢周润发了

训练目标

类的基本使用

训练提示

  1. 创建类

  2. init初始化

  3. str打印对象

  4. del删除对象

  5. 使用列表保存创建的类对象

参考方案

  1. 循环保存对象到一个列表中

  2. 每次循环创建对象

  3. 遍历列表,取出每次保存的对象,调用对象方法

参考步骤

  1. 创建类

  2. 初始化

  3. 定义方法

  4. 重写str方法

  5. 重写del方法

  6. 创建一个空列表

  7. 循环创建类对象,并将对象保存到列表中

  8. 遍历列表,调用方法

参考答案

class Star(object):def __init__(self, name, movie):self.name = nameself.movie = moviedef playing(self):print("%s出演了%s,非常好看" % (self.name, self.movie))def __str__(self):return "%s是我的偶像,我非常喜欢他的电影%s" % (self.name, self.movie)def __del__(self):print("我不喜欢%s了" % self.name)mov_l = []
for i in range(3):name = input("请输入你喜欢的明星:")movie = input("请输入电影名")s = Star(name, movie)mov_l.append(s)for i in mov_l:i.playing()print(i)

Python基础day08 作业解析【7道 面向对象题目】相关推荐

  1. Python基础day04 作业解析【3道 字典题】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员] Python基础day04[字典(介绍.定义与访问.操作数据.常见操作)] Python基础day ...

  2. Python基础day05 作业解析【10道 函数作业题】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员] Python基础day04[函数(定义与调用.文档说明.传参函数.全局变量.返回值.嵌套调用)] ...

  3. Python基础day03 作业解析【5道 字符串题、3道 列表题、2道 元组题】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员] Python基础day03[字符串(定义.输入输出.常用方法).列表(定义.基本使用.增删改查.嵌 ...

  4. Python基础day02 作业解析【6道 if 判断题、9道 循环题】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员] Python基础day02[if结构.if elif 结构.while循环.for循环.Break ...

  5. Python基础day07 作业解析【文件操作(文件读写、文件夹操作)】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员] Python基础day07[文件读写.文件夹操作.面向对象(类.对象)] 目录 加强训练 题目1 ...

  6. python基础 实战作业 ---Excel基本读写与数据处理

    代码地址如下: http://www.demodashi.com/demo/11650.html 看完本篇需要: 10min 作业练习需要: 0.5h~3h(依练习者对python熟悉程度而定) 看完 ...

  7. Python基础day08【面向对象(类、对象、属性)、魔方方法(init、str、del、repr)】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员]   目录 0.复习 1.类外部添加和获取对象属性 2.类内部操作属性 3.魔法方法 3.1.__i ...

  8. Python基础教程(九):面向对象、正则表达式

    Python 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. 如果你以前没有接触过 ...

  9. 部分仍在编辑文章 - Python基础专题 - 深度解析python中的赋值与拷贝

    深度解析python中的赋值与拷贝 jcLee95 的 CSDN 博客:https://blog.csdn.net/qq_28550263?spm=1011.2124.3001.5343 邮箱 :29 ...

最新文章

  1. python中类和对象的内容_python中的类和对象
  2. python在日常工作处理中的应用-谈谈Python在工作中的应用
  3. linux命令:java程序后台运行
  4. webpack开发配置
  5. “美登杯”上海市高校大学生程序设计 C. 小花梨判连通 (并查集+map)
  6. 前端学习(2469):echart复习电商管理通过erchart加载数据
  7. 【Java线程】深入理解Volatile关键字和使用
  8. Comet OJ - Contest #11 题解赛后总结
  9. ASP.NET中调用Excel的问题
  10. [HttpClient]HTTPClient PostMethod 中文乱码问题解决方案(2种)
  11. 类文件结构和字节码指令
  12. 扩散方程——热传导问题(能量定律+傅里叶热传导定律)+ 拉普拉斯方程 | 偏微分方程(三)
  13. 缉拿IP冲突之后的“真凶”
  14. linux怎么查看hwaddr_Linux 查看网卡的MAC地址
  15. 常用的curl命令及参数详解
  16. 骨架屏-vue3中实现
  17. 页面生命周期:DOMContentLoaded, load, beforeunload, unload解析
  18. hibernate中 one to many和many to one的非主键关联
  19. 20140322 卡迪夫城VS利物浦,拔出重剑,有惊无险
  20. 使用基于注意力的编码器-解码器实现医学图像描述

热门文章

  1. 北航java大作业,北航成人继续教育 本科 计算机科学与技术 JAVA——大作业.doc
  2. java线程死亡_java – 如何暂停main()直到所有其他线程死亡?
  3. select html value属性,HtmlSelect.DataValueField 属性 (System.Web.UI.HtmlControls) | Microsoft Docs...
  4. 【机器学习算法专题(蓄力计划)】十五、机器学习中玄乎的最大熵原理及模型
  5. 期末复习、化学反应工程科目(第五章)
  6. 四十六、深入Java的网络编程(下篇)
  7. 黑马Java架构师实战训练学习手册
  8. 直播 | UCLA博士生洪逸宁:视觉和语言的联合语法归纳(ICCV 2021)
  9. KDD 2021 | 小红书推荐多样性解决方案:SSD在质量、多样性之间获得较好权衡
  10. 更深的编码器+更浅的解码器=更快的自回归模型