day14總結(jié)

1.異常捕獲
正常情況下程序出現(xiàn)異常,程序會直接崩潰,不能接著往后執(zhí)行
異常捕獲就是為了讓程序出現(xiàn)異常的時候不崩潰,自己處理異常
2.異常捕獲
1)語法一:try-except 可以捕獲所有異常
try:
代碼塊1
except:
代碼塊2

其他語句

執(zhí)行過程:先執(zhí)行代碼塊1,在執(zhí)行代碼塊1的過程中如果出現(xiàn)異常,程序不崩潰直接執(zhí)行代碼塊2
如果沒有出現(xiàn)異常,不執(zhí)行代碼塊2。直接執(zhí)行其他語句
2)語法二:
try:
代碼段1
except 錯誤類型:
代碼段2

執(zhí)行過程:先執(zhí)行代碼塊1,如果在執(zhí)行代碼塊1的過程中如果出現(xiàn)異常,
先檢查出現(xiàn)異常類型和except后面的異常類型一致,
若異常類型與錯誤類型一致程序不崩潰直接執(zhí)行代碼塊2如果沒有出現(xiàn)異常,
不執(zhí)行代碼塊2。如果不一致程序直接崩潰。如果沒有異常直接執(zhí)行后面的語句
3)語法三:
try:
代碼段1
except (異常類型1,異常類型2,......):
代碼段2

4)語法四:
try:
代碼段1
except 異常類型1:
代碼段2
except 異常類型2:
代碼段3

5)上面的四種結(jié)構(gòu)的最后都可以加上一個finally,
不管try中代碼有沒有異常,異常有沒有被捕獲,
finally后面的代碼都會執(zhí)行。一般可以做數(shù)據(jù)保存和備份操作
try:
代碼段1
except:
代碼段2
fianlly:
代碼段3
3.拋出異常:主動讓程序崩潰
1)語法
raise 異常類型:

注意:異常類型可以是系統(tǒng)自帶的,也可以是程序員自定義
(要求異常類型必須是Exception的子類)
1.編程思想
面向過程編程:遇到問題就考慮通過代碼一步一步的去解決問題
函數(shù)式編程:一遇到問題就考慮是否能夠有這樣功能的函數(shù)
面向?qū)ο缶幊蹋旱絾栴}就考慮是否有這樣一個類,擁有相應(yīng)的功能和屬性
1.什么是類,什么是對象
1)類的定義:類是擁有相同功能和相同屬性的對象的集合
2)對象:對象就是類的實例
python中所有的數(shù)據(jù)類型都是類,每種類型對應(yīng)的數(shù)據(jù)都是對象
聲明類就是自定義類型

1)語法:
class 類名:
類的內(nèi)容

2)說明:
class - 聲明類的關(guān)鍵字
類名 - 自己命名,標(biāo)識符不能是關(guān)鍵字;見名知義;首字母大寫,并且采用駝峰式命名(如果名字由多個單詞組成,單詞之間采用單詞首字母大寫的方式進(jìn)行區(qū)分)
類的內(nèi)容 - 主要包含:類的說明文檔、屬性、方法(功能)

補(bǔ)充:什么是方法 - 聲明在類中的函數(shù)(方法就是函數(shù))
3.創(chuàng)建對象
對象是通過類來創(chuàng)建的
1)語法
類() - 創(chuàng)建指定類對應(yīng)的對象
1.類中的方法
類中的方法其實就是聲明在類中的函數(shù);類中的方法分為三種:對象方法,類方法,靜態(tài)方法
2.對象方法
直接聲明在類中的函數(shù)就是對象方法,有個默認(rèn)參數(shù)self,需要使用'對象.’的方法去調(diào)用
注意:對象方法從語法來說可以使用'類.'的方式去使用,這樣用self失去了它存在的意義
1)self
對象方法中默認(rèn)參數(shù)self,在通過對象調(diào)用的時候,這個參數(shù)不用傳參,系統(tǒng)會自動將當(dāng)前對象傳遞給他。
哪個對象調(diào)用的當(dāng)前方法,self就是誰

self本質(zhì)就是當(dāng)前類的對象,所以對象能做的事情self也能做
1.init方法
python所有類中都有一個特殊的對象方法;init
當(dāng)通過類去創(chuàng)建對象的時候,系統(tǒng)會自動調(diào)用init方法,來對對象進(jìn)行初始化操作

補(bǔ)充:python中以兩個下劃線開頭并且以他結(jié)尾的方法叫魔法方法。
所有的魔法方法都不需要程序員手動調(diào)用,系統(tǒng)會在需要的地方自動調(diào)用
2.構(gòu)造方法
函數(shù)名和類名一樣的方法就是構(gòu)造方法。
python中,當(dāng)我們聲明類的時候,系統(tǒng)會自動給我們創(chuàng)建這個類的構(gòu)造方法。
方法中會先在內(nèi)存中開辟空間創(chuàng)建對象,然后用創(chuàng)建好的對象去調(diào)用init方法對對象進(jìn)行初始化

創(chuàng)建對象的時候需不需要參數(shù),需要幾個參數(shù),看init方法
1.屬性
屬性分為:類的字段,對象屬性
1)類的字段
a.聲明:
直接聲明在類中的變量就是類的字段
b.怎么使用:
通過'類.'的方法去使用
c.什么時候用:
屬性的值不會因為對象的不同而不同,就使用類的字段

2)對象屬性
a.聲明:
對象屬性需要聲明在init方法中以'self.屬性=值'的方式來聲明
b.怎么使用:
通過'對象.'的方式去使用
c.什么時候使用:
屬性的值會因為對象不同而不同
1.對象屬性的增刪改查
1)查 - 獲取對象屬性的值
a.點語法: 對象.屬性 - 獲取對象屬性的值,屬性不存在會報錯
b.getattr(對象,屬性名) - 獲取對象屬性的值,屬性不存在會報錯
getattr(對象,屬性名,默認(rèn)值) - 獲取對象屬性的值,屬性不存在會報錯,并且返回默認(rèn)值
2)增/改 - 添加/修改屬性
a. 對象.屬性 = 值 - 當(dāng)屬性存在的時候修改屬性的值,當(dāng)屬性不存在的時候添加屬性
b. setattr(對象, 屬性名, 值)
3.刪 - 刪除對象屬性
a. del 對象.屬性
b. delattr(對象,屬性名)
1.內(nèi)置類屬性:聲明類的時候系統(tǒng)為類添加的屬性
1)name
字段,獲取類的類名
2)doc
字段,獲取類的說明文檔
3)class
對象屬性,獲取對象的類型
4)dict 重點
字段,獲取當(dāng)前類所有的字段和對應(yīng)的值以字典的形式返回(了解)
對象屬性,獲取當(dāng)前對象所有的對象屬性和對應(yīng)的值
5)module
字段,獲取當(dāng)前類所在(聲明在哪)的模塊名字
6)bases
字段,獲取當(dāng)前類所有的父類

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.異常 1.1 定義 正常情況下程序出現(xiàn)異常,程序會直接崩潰,不能接著往后執(zhí)行。異常捕獲就是為了程序出現(xiàn)異常的時...
    XXXXStone閱讀 197評論 0 0
  • 一、異常(exception) 1.異常捕獲 正常情況下程序出現(xiàn)異常,程序會直接崩潰,不能接著往后執(zhí)行; 異常捕獲...
    墨2019418閱讀 234評論 0 0
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對...
    cosWriter閱讀 11,632評論 1 32
  • 國家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報批稿:20170802 前言: 排版 ...
    庭說閱讀 12,355評論 6 13
  • 2019-05-05 一. 異常 1. 異常捕獲 正常情況下程序出現(xiàn)異常,程序會直接崩潰,不能接著往后執(zhí)行。異常...
    快請輸入昵稱吧閱讀 252評論 0 0

友情鏈接更多精彩內(nèi)容