中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

廣州做網(wǎng)站哪個公司做得好網(wǎng)頁制作教程

廣州做網(wǎng)站哪個公司做得好,網(wǎng)頁制作教程,做劫持和攻擊網(wǎng)站的手機不能視頻嗎,上海網(wǎng)絡(luò)維護服務(wù)公司一、多態(tài) 多態(tài)指的是一類事物的多中形態(tài) 相同的方法,產(chǎn)生不同的執(zhí)行結(jié)果 運算符 * 的多態(tài) int int 加法計算 str str 字符串拼接 list list 列表的數(shù)據(jù)合并 在python中可以使用類實現(xiàn)一個多態(tài)效果 在python中使用重寫的方式實現(xiàn)多態(tài) (1)定…

一、多態(tài)

多態(tài)指的是一類事物的多中形態(tài)

相同的方法,產(chǎn)生不同的執(zhí)行結(jié)果

運算符 + * 的多態(tài)

int + int 加法計算

str + str 字符串拼接

list + list 列表的數(shù)據(jù)合并

在python中可以使用類實現(xiàn)一個多態(tài)效果

在python中使用重寫的方式實現(xiàn)多態(tài)

(1)定義兩個類:老師、車;

(2)定義老師類的屬性:姓名,定義老師類的方法:開車、停車;

(3)定義車類的屬性:類型,定義車類的方法:開啟、停止;

(4)聯(lián)系:老師開車,執(zhí)行程序,觀察效果

# 多態(tài)
class Teacher:def __init__(self,name):self.name = namedef run(self):print(f'{self.name}老師開車')def stop(self):print(f'{self.name}老師停車')class Car:def __init__(self,type):self.type = typedef start(self):print(f'{self.type}啟動')def close(self):print(f'{self.type}熄火')t = Teacher('張三')
c = Car('小汽車')c.start()
t.run()
c.close()
t.stop()#使用繼承方式,調(diào)整執(zhí)行的方法
# 多態(tài)
class Teacher:def __init__(self,name):self.name = namedef run(self):print(f'{self.name}老師開車')def stop(self):print(f'{self.name}老師停車')class Car(Teacher):def __init__(self,type,name):super().__init__(name)self.type = typedef start(self):print(f'{self.type}啟動')super().run()def close(self):print(f'{self.type}熄火')super().stop()c = Car('小汽車','張三')c.start()
c.close()

(5)思考:老師有可能開小轎車、騎自行車、坐地鐵等,該怎么改進程序呢?

多態(tài)實現(xiàn)的流程:

1-定義一個父類,在父類中定義需要執(zhí)行的業(yè)務(wù)方法,具體方法的邏輯不用實現(xiàn),直接pass,由繼承的子類實現(xiàn)

2-定義多個功能的子類繼承父類,在子類中對父類方法重寫,實現(xiàn)自己子類的邏輯

3-封裝一個統(tǒng)一的函數(shù)處理方法,讓開發(fā)人員調(diào)用該方法

# 多態(tài)
class Teacher:def __init__(self,name):self.name = namedef run(self):passdef stop(self):passclass Car(Teacher):def __init__(self,type,name):super().__init__(name)self.type = typedef run(self):# 在多態(tài)實現(xiàn)時,子類繼承父類并對父類方法進行重寫print(f'{self.type}啟動')print(f'{self.name}老師開車')def stop(self):print(f'{self.type}熄火')print(f'{self.name}老師停車')class Metro(Teacher):def __init__(self,type,name):super().__init__(name)self.type = typedef run(self):# 在多態(tài)實現(xiàn)時,子類繼承父類并對父類方法進行重寫print(f'{self.type}啟動')print(f'{self.name}老師乘坐地鐵')def stop(self):print(f'{self.type}到站')print(f'{self.name}老師下車')# 單獨封裝一個行為函數(shù)
# 該函數(shù)就是對外提供一個函數(shù)接口,其他開發(fā)人員使用,就調(diào)用函數(shù)
def action(obj):# obj接收一個對象obj.run()obj.stop()c = Car('越野車','張三')
action(c)m = Metro('地鐵1號線','李四')
action(m)

二、文件讀寫

通過文件讀寫完成對文件數(shù)據(jù)的處理

使用python中open方法實現(xiàn)對文件的讀寫

  • 格式

    • 會返回一個文件描述符

    • 使用文件描述符進行數(shù)據(jù)的讀取或?qū)懭?/p>

f = open(文件位置,讀寫方式,文件讀寫格式(utf-8,gbk))data = f.read() 讀取
f.write(數(shù)據(jù)) 寫入f.close() 關(guān)閉文件

2-1 文件數(shù)據(jù)讀取

# 文件數(shù)據(jù)讀取
# 1-打開文件 創(chuàng)建文件描述符
# open的第一個參數(shù)指定讀取的文件路徑  可以使用絕對路徑  也可以使用相對路徑  windos的路徑需要改斜杠
# 第二參數(shù)指定讀寫方式  r讀 w寫
# 第三個參數(shù)指定文件編碼格式,方便讀取中文數(shù)據(jù)  常用的兩種utf-8  gbk
f = open('路徑','r',encoding='utf-8')# 讀取數(shù)據(jù)文件
# 第一種 讀取一行數(shù)據(jù)
# line_data1 = f.readline()
# print(line_data1)
# line_data2 = f.readline()
# print(line_data2)# 第二種讀取多行數(shù)據(jù)  將讀取的多行數(shù)據(jù)放入列表中  該方式最常用
lines_data = f.readlines()
print(lines_data)# 第三種  一次將所有數(shù)據(jù)讀取出來當(dāng)成一個完整的字符串?dāng)?shù)據(jù)  前面已經(jīng)讀取過數(shù)據(jù) read就無法再讀到數(shù)據(jù) 所以在實際開發(fā)中三種方式選擇一種
# data = f.read()
# print(data)
# print(type(data))# 數(shù)據(jù)取完成后可以使用close方法關(guān)閉文件
f.close()

2-2 數(shù)據(jù)寫入文件

  • 寫入方式

    • w 覆蓋寫入數(shù)據(jù)

    • a 追加寫入數(shù)據(jù)

  • 寫入類型

    • 要求寫入數(shù)據(jù)是字符串類型

# 文件數(shù)據(jù)寫入
# 1-先打開文件獲取文件描述符  文件描述符用來操作文件
# 使用相對路徑   代碼文件運行的所在路徑
# csv文件是以逗號分割的數(shù)據(jù)文件  可以使用excel打開
# w是覆蓋寫入數(shù)據(jù)  a是追加寫入數(shù)據(jù)
f = open('./data.csv','a',encoding='utf-8')# 寫入數(shù)據(jù)
f.write('3,王五,20,男')
f.write('\n') # 寫入換行符  進行換行
f.write('4,趙六,22,男')
f.write('\n')#關(guān)閉文件
f.close()

2-3 二進制文件讀寫

# 二進制文件數(shù)據(jù)讀寫
# 1-打開文件獲取文件描述符
f = open('文件路徑','rb')# 使用read一次性全部讀取
data = f.read()
print(data)
# 關(guān)閉文件
f.close()# 打開新的文件,將圖片數(shù)據(jù)保存
f2 = open('./2.jpeg','wb')f2.write(data)f2.close()

2-4 with open 語法 讀寫文件

# 使用with  open自動關(guān)閉文件
with open('文件路徑','r',encoding='utf-8') as f:data = f.read()print(data)with open('data.json','w',encoding='utf-8') as f:f.write('{"id":1,"name":"張三"}')f.write('\n')f.write('{"id":2,"name":"李四"}')f.write('\n')
  • 文件后綴

    • txt

    • csv

    • json

    • 文件后綴和文件的數(shù)據(jù)本身沒有直接關(guān)系

    • 后綴只是為了說明可以使用那種工具打開該文件,方便識別文件類型

三、異常處理

3-1 常見異常

3.1.1?索引錯誤

  • 索引下標(biāo)異常,一般發(fā)生在數(shù)據(jù)取值

3.1.3?字典Key值錯誤

3.1.3?類型錯誤

3.1.4 文件錯誤

# 索引下標(biāo)取值錯誤
data = 'itcast'
data[100]# 字典取值錯誤
data = {'name':'張三'}
data['age']# 類型錯誤
data = '100'
data2 = 10
data3 = data/data2# 文件讀取錯誤 路徑不存在
with open('aaa.txt','r',encoding='utf-8') as f:f.read()

3-2 異常捕獲

通過語法捕獲代碼中的異常,根據(jù)異常信息,解決異常的問題,保證代碼能持續(xù)運行

格式:

try:
? ? 需要捕獲遺產(chǎn)干的代碼片段,有開發(fā)人員自己決定哪些代碼需要捕獲
except:
? ? 捕獲到異常后處理的邏輯

# 進行異常捕獲
try:
? ? # 把出現(xiàn)的錯誤的代碼邏輯放入try的作用域中
? ? data = 15/0
except:
? ? # 捕獲到異常處理的業(yè)務(wù)邏輯
? ? print('異常被捕獲')
# 異常被捕獲后,可以正常執(zhí)行后續(xù)的邏輯
print('其他代碼邏輯')

3-3 指定異常類型捕獲

# 可以捕獲所有異常
try:data_str = 'itcast'# data_str[100]f = open('aasd.txt','r',encoding='utf-8')
except:# 捕獲到異常處理的業(yè)務(wù)邏輯print('異常被捕獲')# 異常被捕獲后,可以正常執(zhí)行后續(xù)的邏輯
print('其他代碼邏輯')# 捕獲固定的異常 處理固定錯誤
try:# data = 15/0# f = open('aasd.txt', 'r', encoding='utf-8')data_str='itcast'data_str[100]
# 捕獲指定異常
except (FileNotFoundError,ZeroDivisionError,IndexError):print('捕獲0為除數(shù)的異常')
print('其他代碼邏輯')

3-4 異常的其他處理

try:data = 15/0# Exception as e 獲取異常的錯誤信息# 可以捕獲到異常后輸出錯誤信息
except Exception as e:print('異常被捕獲')print(e)
else:print('else  沒有異常邏輯')
finally:print('finally :無論是否有異常都執(zhí)行')

3-5 函數(shù)中的異常處理

#在調(diào)用函數(shù)時進行異常捕獲
def func(a,b):data = a + bprint(data)try:# 調(diào)用其他開發(fā)人員編寫的代碼處理錯誤func('10',20)
except Exception as e:print(e)#封裝函數(shù)時異常捕獲
# 函數(shù)的異常處理
def func(a, b):data = 0# 在封裝的函數(shù)內(nèi)捕獲異常try:data = a + bexcept:# 函數(shù)內(nèi)自己處理異常print('異常錯誤')return data# 調(diào)用函數(shù)
func(10,'20')#函數(shù)內(nèi)捕獲到異常不處理,再傳遞給掉用函數(shù)的地方
# 函數(shù)的異常處理
def func(a, b):data = 0# 在封裝的函數(shù)內(nèi)捕獲異常try:data = a + bexcept:# 將異常的錯誤信息傳遞到調(diào)用地方 當(dāng)前沒有處理異常raise Exception('函數(shù)內(nèi)計算錯誤')return data# 調(diào)用函數(shù)時,捕獲函數(shù)執(zhí)行的異常
try:func(10,'20')
except Exception as e:print('異常捕獲')print(e)# 多個函數(shù)中都要使用的變量可以定義成全局變量,通過global聲明,就可在多個函數(shù)就可以共享全局?jǐn)?shù)據(jù)
name_list = []
password_list = []# 登錄注冊功能
def login():# 函數(shù)作用域# 通過四個空格,來確認(rèn)函數(shù)所執(zhí)行的邏輯從哪里開始# 列表,元組,集合,字典數(shù)據(jù)可以省略global聲明15/0global name_listglobal password_listfor num in range(3):  # [0,3)  0,1,2name = input('請輸入用戶名:')password = input('請輸入密碼:')# 先判斷用戶名是否正確if name in name_list:# 在判斷密碼是否正確if password in password_list:print('登錄成功')# 適應(yīng)break關(guān)鍵,會結(jié)束循環(huán),不再進行取值breakelse:print('密碼不正確')else:print('用戶名不正確')def register():global name_listglobal password_listname = input('請輸入注冊的用戶名:')password = input('請輸入出注冊的密碼:')# 將用戶的名字和密碼添加到全局的數(shù)據(jù)列表name_list.append(name)password_list.append(password)while 1==1:num = input('1-登錄 2-注冊 3-支付 4-下單 5-退出程序:')if num == '1':# 函數(shù)功能的調(diào)用try:login()  # 函數(shù)名()except:print('登錄出現(xiàn)錯誤')elif num == '2':register()elif num == '3':passelif num == '4':passelse:break

http://www.risenshineclean.com/news/41460.html

相關(guān)文章:

  • 廣州建設(shè)網(wǎng)站的公司外鏈下載
  • 網(wǎng)站描述代碼怎么寫市場調(diào)研的步驟
  • 佳木斯做網(wǎng)站免費發(fā)布推廣信息的軟件
  • 合肥的網(wǎng)站建設(shè)windows永久禁止更新
  • 電影網(wǎng)站怎么做seo網(wǎng)絡(luò)營銷帶來的效果
  • 淘寶客網(wǎng)站W(wǎng)ordPressseo常用工具包括
  • 寶山做網(wǎng)站公司南陽網(wǎng)站seo
  • 做H5哪個網(wǎng)站字體漂亮一些濟南網(wǎng)站推廣公司
  • 沒網(wǎng)站能不能cpc廣告點擊賺錢做搜圖片找原圖
  • 給我一個免費網(wǎng)站嗎互聯(lián)網(wǎng)推廣平臺有哪些公司
  • 工作室裝修網(wǎng)站源碼58同城網(wǎng)站推廣
  • 西安手機網(wǎng)站建設(shè)動力無限推廣普通話黑板報
  • 珠海網(wǎng)站備案提交鏈接
  • 嘉興絲綢大廈做網(wǎng)站的公司seo網(wǎng)絡(luò)排名優(yōu)化方法
  • 網(wǎng)站建設(shè)與維護是什么內(nèi)容?十大軟件培訓(xùn)機構(gòu)
  • 平臺建設(shè)上線網(wǎng)站百度網(wǎng)盤app官網(wǎng)下載
  • 有官網(wǎng)建手機網(wǎng)站深圳網(wǎng)站建設(shè)公司
  • 南充響應(yīng)式網(wǎng)站建設(shè)2023年8月疫情又開始了嗎
  • 網(wǎng)站建設(shè)注意要求怎么做app推廣
  • 蕪湖網(wǎng)站建設(shè)求職簡歷互聯(lián)網(wǎng)營銷外包推廣
  • 外貿(mào)網(wǎng)站如何做的好處成都網(wǎng)站制作費用
  • 制造網(wǎng)站建設(shè)哪家好推廣網(wǎng)絡(luò)營銷案例
  • 網(wǎng)站開發(fā)詳細設(shè)計文檔十句經(jīng)典廣告語
  • 微信小程序網(wǎng)站建設(shè)哪家好高質(zhì)量內(nèi)容的重要性
  • 有沒有專門做航拍婚禮網(wǎng)站小紅書seo排名帝搜軟件
  • 專業(yè)網(wǎng)站設(shè)計專家百度搜索排名服務(wù)
  • 天津網(wǎng)站建設(shè)服務(wù)好整合營銷案例
  • 做網(wǎng)站需要用到ps嗎qq推廣網(wǎng)站
  • 怎么做局域網(wǎng)asp網(wǎng)站如何讓自己網(wǎng)站排名提高
  • 專業(yè)網(wǎng)站制作的公司網(wǎng)絡(luò)賺錢推廣