一.實驗名稱:《零基礎學Python》第7章 面向物件程式設計
二.實驗環境:IDLE Shell 3.9.7
三.實驗內容:5道實體、4道實戰
四.實驗程序:
- 實體01 創建大雁類并定義飛行方法

點擊查看代碼
class Geese:
'''大雁類'''
def __init__(self,beak,wing,claw):
print("我是大雁類!我有以下特征:")
print(beak)
print(wing)
print(claw)
def fly(self,state):
print(state)
'''************呼叫方法*********'''
beak_1="喙的基部較高,長度和頭部的長度幾乎相等"
wing_1="翅膀長而尖"
claw_1="爪子是蹼狀的"
wildGoose=Geese(beak_1,wing_1,claw_1)
wildGoose.fly("我飛行的時候,一會兒排成個人字,一會兒排成個一字")
運行結果:

- 實體02 通過類屬性統計類的實體個數

點擊查看代碼
class Geese:
'''雁類'''
neck="脖子較長"
wing="振翅頻率高"
leg="腿位于身體的中心支點,行走自如"
number=0
def __init__(self):
Geese.number+=1
print("\n我是第"+str(Geese.number)+"只大雁,我屬于雁類!我有以下特征:")
print(Geese.neck)
print(Geese.wing)
print(Geese.leg)
list1=[]
for i in range(4):
list1.append(Geese())
print("一共有"+str(Geese.number)+"只大雁")
運行結果:

- 實體03 在模擬電影點播功能時應用屬性

點擊查看代碼
class TVshow:
list_film=["戰狼2","紅海行動","西游記女兒國","熊出沒·變形記"]
def __init__(self,show):
self.__show=show
@property
def show(self):
return self.__show
@show.setter
def show(self,value):
if value in TVshow.list_film:
self.__show="您選擇了《"+value+" 》,稍后將播放"
else:
self.__show="您點播的電影不存在"
tvshow=TVshow("戰狼2")
print("正在播放:《",tvshow.show,"》")
print("您可以從",tvshow.list_film,"中選擇要點播放的電影")
tvshow.show="紅海行動"
print(tvshow.show)
運行結果:

- 實體04 創建水果基類及其派生類

點擊查看代碼
class Fruit:
color="綠色"
def harvest(self,color):
print("水果是:"+color+"的!")
print("水果已經識訓......")
print("水果原來是:"+Fruit.color+"的!")
class Apple(Fruit):
color="紅色"
def __init__(self):
print("我是蘋果")
class Orange(Fruit):
color="橙色"
def __init__(self):
print("\n我是橘子")
apple=Apple()
apple.harvest(apple.color)
orange=Orange()
orange.harvest(orange.color)
運行結果:

- 實體05 在派生類中呼叫基類的__init__()方法定義類屬性

點擊查看代碼
class Fruit:
def __init__(self,color="綠色"):
Fruit.color=color
def harvest(self,color):
print("水果是:"+self.color+"的!")
print("水果已經識訓......")
print("水果原來是:"+Fruit.color+"的!")
class Apple(Fruit):
color="紅色"
def __init__(self):
print("我是蘋果")
super().__init__()
class Sapodilla(Fruit):
def __init__(self,color):
print("\n我是人參果")
super().__init__(color)
def harvest(self,color):
print("人參果是:"+color+"的!")
print("人參果已經識訓......")
print("人參果原來是:"+Fruit.color+"的!")
apple=Apple()
apple.harvest(apple.color)
sapodilla=Sapodilla("白色")
sapodilla.harvest("金黃色帶紫色條紋")
運行結果:

- 實戰01 修改手機默認語言

代碼如下:
點擊查看代碼
class Smartphone:
'''手機類'''
Yuyan="中文"
def __init__(self):
print("智能手機的默認語言為英文")
print("將智能手機的語言設定為"+Smartphone.Yuyan)
smartphone=Smartphone()
運行結果:

- 實戰02 給信用卡設定默認密碼

代碼如下:
點擊查看代碼
class CreditCard:
'''信用卡類'''
def __init__(self,number,password="123456"):
if password=='123456':
print("信用卡"+number+"的默認密碼為"+password)
else:
print("重置信用卡"+number+"的密碼為"+password)
CreditCard("4013735633800642")
CreditCard("4013735633800642","168779")
運行結果:

- 實戰03 列印每月銷售明細

代碼如下:
點擊查看代碼
class Sale:
'''功能:模擬實作輸出進銷存管理系統中的每月銷售明細'''
Details = (('T0001', '筆記本電腦'), ('T0002', '華為榮耀6X'), ('T0003', 'iPad'), ('T0004', '華為榮耀V9'), ('T0005', 'MacBock'))
def __init__(self, month):
if month=='2':
print('2月份的商品銷售明細如下:')
for i in range(len(Sale.Details)):
print('{}{} {}{}'.format('商品編號:',Sale.Details[i][0],'商品名稱:',Sale.Details[i][1]))
months = input('\n請輸入要查詢的月份(比如1、2、3等):')
sale = Sale(months)
else:
print('\n該月份沒有銷售資料或者輸入月份有誤!\n')
months = input('請輸入要查詢的月份(比如1、2、3等):')
sale= Sale(months)
print('——————————銷售明細——————————')
months =input('請輸入要查詢的月份(比如1、2、3等):')
sale=Sale(months)
運行結果:

- 實戰04 模擬電影院的自動售票機選票頁面

代碼如下:
點擊查看代碼
class Film:
'''功能:模擬電影院自動售票機中自動選擇電影場次的頁面'''
filmname=''
zw=''
cci=''
films=(('1、','《長津湖》'),('2、','《戰狼2》'),('3、','《紅海行動》'))
def __init__(self):
print('\n歡迎使用自動售票機~~')
pass
def Films(self,filmname):
Film.filmname = filmname
print('已選電影:'+filmname)
pass
def cci(self,cci):
Film.cci="2018.4.12 "+cci
print('電影場次:' + cci)
def zw(self,zw):
Film.zw= zw
print('選擇座位:' + zw)
pass
def piao(self):
print("電影:"+Film.filmname)
print("播出時間:" + Film.cci)
print("座位:" + Film.zw)
pass
film= Film()
print('\n請選擇正在上映的電影:1、《長津湖》 2、《戰狼2》 3、《紅海行動》')
film.Films('《長津湖》')
print('\n請選擇電影播放場次:1、9:30 2、10:40 3、12:00')
film.cci('10:40')
print('\n請選擇座位剩余座位:10-01,10-02,10-03,10-04')
film.zw('10-3')
print('\n正在出票,,,\n')
film.piao()
print('\n出票完成,請別忘記取票')
運行結果:

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/518978.html
標籤:其他
上一篇:RIP路由欺騙攻擊與防御策略
下一篇:你真的會使用Typora嗎?
