Python基础day08 作业解析【7道 面向对象题目】
- 視頻、源碼、課件、軟件、筆記:超全面Python基礎入門教程【十天課程】博客筆記匯總表【黑馬程序員】
-
Python基礎day08【面向對象(類、對象、屬性)、魔方方法(init、str、del、repr)】
目錄
1、加強訓練
題目1 [加強訓練]
題干
訓練目標
訓練提示
參考方案
操作步驟
參考答案
題目2 [加強訓練]
題干
訓練目標
訓練提示
參考方案
參考步驟
參考答案
題目3 [加強訓練]
題干
訓練目標
訓練提示
參考方案
參考步驟
參考答案
題目4 [加強訓練]
題干
訓練目標
訓練提示
參考方案
參考步驟
參考答案
題目5 [加強訓練]
題干
訓練目標
訓練提示
參考方案
參考步驟
參考答案
題目6 [加強訓練]
題干
訓練目標
訓練提示
參考方案
參考步驟
參考答案
2、綜合訓練
題目7 [綜合訓練]
題干
訓練目標
訓練提示
參考方案
參考步驟
參考答案
1、加強訓練
題目1 [加強訓練]
題干
定義一個Star類(明星類), 通過明星類創建一個zhou_xing_chi對象。
訓練目標
類的定義
創建對象
訓練提示
如何定義類?
類名要滿足什么規則?
如何創建對象
類的三大構成是什么?
參考方案
-
定義類關鍵字 class
????????class 類名(object):
????????? ? pass
-
類名要滿足標識符規則和大駝峰規范
-
可以通過變量 = 類名()來創建對象
-
類的構成是:類名, 屬性,方法
操作步驟
使用class關鍵字創建類
使用類創建對象
參考答案
class Star(object):passzhou_xing_chi = Star()題目2 [加強訓練]
題干
訓練目標
給對象添加屬性
訓練提示
如何給對象添加屬性?
參考方案
添加屬性方法:對象名.屬性名 = 值
參考步驟
定義類
創建對象
添加屬性
參考答案
class Star(object):passzhou_xing_chi = Star() zhou_xing_chi.name = '周星馳' zhou_xing_chi.movie = "功夫"題目3 [加強訓練]
題干
訓練目標
init的使用
帶有參數的init
訓練提示
init方法的作用?
init方法在什么時候調用?
init的參數都代表什么?
參考方案
使用init方法給對象添加屬性
參考步驟
創建對象
定義init方法,并且重新賦值
參考答案
class Star():def __init__(self, name, movie):self.name = nameself.movie = moviezhou_xing_chi = Star('周星馳', "功夫")題目4 [加強訓練]
題干
訓練目標
self的使用
訓練提示
如何在類中定義方法?
方法的參數都有哪些?
self指的是什么?
如何調用方法?
參考方案
使用self保存私有屬性
調用方法打印結果
參考步驟
創建對象
初始化
定義方法
創建對象
打印結果
參考答案
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 [加強訓練]
題干
訓練目標
str方法的使用
訓練提示
str方法的作用是什么?
str方法的參數有哪些?
str是否有返回值?
參考方案
-
使用str方法用來顯示信息;
-
該方法需要 return 一個數據,并且只有self一個參數,當在類的外部 print(對象) 則打印這個數據。
參考步驟
定義類
初始化屬性
定義str方法
創建對象
打印對象
參考答案
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 [加強訓練]
題干
訓練目標
del方法的使用
訓練提示
-
del方法的作用是什么?
-
del方法什么時候調用?
參考方案
當刪除對象時,python解釋器也會默認調用一個方法,這個方法為__del__()方法;
當有變量保存了一個對象的引用時,此對象的引用計數就會加1;
當使用del() 刪除變量指向的對象時,則會減少對象的引用計數。如果對象的引用計數不為1,那么會讓這個對象的引用計數減1,當對象的引用計數為0的時候,則對象才會被真正刪除(內存被回收)。
參考步驟
創建類
初始化
定義del方法
創建對象
調用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方法和打印對象
????????請輸入你喜歡的明星:周星馳
????????請輸入電影名功夫
????????請輸入你喜歡的明星:劉德華
????????請輸入電影名狄仁杰
????????請輸入你喜歡的明星:周潤發
????????請輸入電影名賭神
????????周星馳出演了功夫,非常好看
????????周星馳是我的偶像,我非常喜歡他的電影功夫
????????劉德華出演了狄仁杰,非常好看
????????劉德華是我的偶像,我非常喜歡他的電影狄仁杰
????????周潤發出演了賭神,非常好看
????????周潤發是我的偶像,我非常喜歡他的電影賭神
????????我不喜歡周星馳了
????????我不喜歡劉德華了
????????我不喜歡周潤發了
訓練目標
類的基本使用
訓練提示
創建類
init初始化
str打印對象
del刪除對象
使用列表保存創建的類對象
參考方案
循環保存對象到一個列表中
每次循環創建對象
遍歷列表,取出每次保存的對象,調用對象方法
參考步驟
創建類
初始化
定義方法
重寫str方法
重寫del方法
創建一個空列表
循環創建類對象,并將對象保存到列表中
遍歷列表,調用方法
參考答案
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道 面向对象题目】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python基础day08【面向对象(类
- 下一篇: Python基础day09【面向对象(封