python程式設計基礎之三十五

2022-06-22 18:12:11 字數 2269 閱讀 5470

系統的魔術方法:系統的魔術方法特別多,但是也都特別容易懂,簡單的講就是對系統的內建函式進行重寫,你需要什麼效果就重寫成什麼樣,

比如說len()方法針對的物件本來沒有自定義類的物件,但是當你重寫了__len()__這個魔術方法時候,就可以對你需要的進行計算了,這個需要積累

這裡給個例子吧

1

class

dog:

2def

__init__

(self, l):

3 self.l =

4self.l.extend(l)

5def

__len__

(self):

6return

len(self.l)78

9 l1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]

10 d1 =dog(l1)

11print(len(d1))

魔術方法舉例

異常處理:try - except語句

1

try:

2 【**塊a】 #

可能會出錯誤的** 異常檢測

3except exception1[ as e]: #

異常處理

4 【**塊1】 #

異常處理**

5except exception2[ as e]: #

異常處理

6 【**塊2】 #

異常處理**

7....

8except exceptionn[ as e]: #

異常處理

9 【**塊n】 #

異常處理**

10 [else:] #

可選,如果沒有引發異常會執行

11處理語句

12 [finally:] #

無論如何都要執行的語句

13處理語句

14 【後續語句】

異常處理

丟擲異常:手動丟擲乙個異常,無論哪種異常都可以帶乙個引數字串,如果沒有帶引數,則會把異常原樣丟擲

1

try:

2raise zerodivisionerror('

除0錯誤')

3#raise zerodivisionerror #如果不想獲取錯誤資訊,可以不帶引數

4except

zerodivisionerror as e:

5print(e) #

除0錯誤

丟擲異常

assert 斷言:

asser 條件 [,異常描述字串]

執行流程:如果條件為假,則丟擲assertionerror,條件為真,就當assert不存在

​  作用:對於可能出問題的**,加上斷言,方便問題排查

1

print('

start')

2 num = int(input('

請輸入乙個1~9的整數:'))

3assert 0 '

num不在1~9'4

print('

end')

assert斷言

自定義異常:如果說系統異常型別已經無法滿足自己,那麼就可以寫個自定義異常

1

class customerror(baseexception): #

繼承baseexception

2def

__init__

(self,msg):

3 super().__init__() #

呼叫父類初始化

4 self.msg =msg56

#重寫__str__,輸出異常資訊

7def

__str__

(self):

8return

self.msg910

#3.自定義異常處理方法

11def

handle_exception(self):

12print('

異常處理')

1314

try:

15raise customerror('

自定義異常')

16except

customerror as e:

17print(e)

自定義異常

Python零基礎學習筆記(三十五) 記憶體修改

今天利用這個小功能做了個植物大戰殭屍的外掛程式,哈哈哈 等以後學了gui程式設計的時候做成圖形化介面 程序模組 import win32process 系統import win32api import win32con import win32gui import ctypes 獲取最高許可權,位運...

python程式設計基礎之三十一

物件導向 一開始接觸物件導向其實感覺不好用,但是對於一些複雜的問題,使用物件導向其實更加容易,邏輯不容易混亂 它的核心是 類 和 物件 類 對一系列事物的抽象概念,可以視為一張圖紙,物件 就是對類這種抽象概念例項化出乙個具體的東西,也可以理解成按照圖紙說明製造的乙個實物,不同實物之間肯定會有不一樣,...

LeetCode第三十五題 Python實現

title leetcode no.35 categories tags 給定乙個排序陣列和乙個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。你可以假設陣列中無重複元素。示例 1 輸入 1,3,5,6 5 輸出 2 示例 2 輸入 1,3,5,6 ...