Python學習筆記 23

2021-09-21 02:01:20 字數 1391 閱讀 8744

classa:

# 直接在類中定義的屬性是類屬性

# 類屬性可以通過類或者類的例項訪問

# 但類屬性只能通過類物件修改,無法通過例項修改

count =

5def

__init__

(self)

:# 例項屬性,通過例項物件新增的屬性

# 例項屬性只能通過例項物件來訪問修改,類物件無法訪問修改

self.name =

'小王'

# 例項方法

# 在類中定義,以self為第乙個引數的方法都是例項方法

# 例項方法可以通過例項和類去呼叫:

# 當通過例項呼叫時,會自動將呼叫物件作為self傳入

# 當通過類呼叫時,不會自動傳遞self,此時我們必須手動傳遞self

deftest

(self)

:print

('這是test方法。。'

,self)

# 類方法

# 在類內部使用 @classmethod 來修飾的方法屬於類方法

# 類方法的第乙個引數是cls,也會被自動傳遞,cls就是當前的 類 物件

# 類方法可以通過類去呼叫,也可以通過例項呼叫,

# 和例項方法的區別就在於第乙個引數是類還是例項物件

@classmethod

deftest_2

( cls )

:print

('這是test_2類方法。。'

,cls)

# 靜態方法

# 在類中使用 @staticmethod 來修飾的方法屬於類方法

# 靜態方法不需要指定任何預設引數,靜態方法可以通過類和例項去掉用

# 靜態方法,基本上是乙個和當前類無關的方法,它只是乙個儲存到當前類中的函式

# 舉個栗子:假如類是乙個車,靜態方法就相當於車裡的乙個箱子,箱子裡有扳手,鉗子等工具

@staticmethod

deftest_3()

:print

('靜態方法test_3。。'

)a = a(

)# 例項屬性,通過例項物件新增的屬性

a.count =

200# 並沒有修改a類中的屬性,只是在例項a中新增了a的例項屬性count

print

('a:'

,a.count)

print

('a:'

,a.count)

a.test(

)# 通過例項呼叫

a.test(a)

# 通過類呼叫

# 兩個方法等價的,本質是是一樣的

# a.test_2 也等價於 a.test_2

# a.test_3 也等價於 a.test_3

python學習筆記(23) 異常處理

異常處理與除錯 異常 在執行 過程中遇到的任何錯誤,帶有error字樣的都是異常 異常處理,對 中所有可能出現的異常進行的處理 1 處理某個錯誤 2,處理某個型別的錯誤 3 有錯就抓 一 初級處理 只抓 import os try os.mkdir wuzm fileexistserror exce...

python學習手冊筆記 23 模組包

00.除了模組名之外,匯入也可以指定目錄路徑。python 的目錄就是包。01.選擇點號語法 一部分是考慮到跨平台,但也是應為import語句中的路徑程式設計實際的巢狀的物件路徑。這種語法也意味著,如果你忘了import語句中省略.py,就會得到奇怪的錯誤資訊。02.03.from 語句的行為 作為...

Effective Java 學習筆記 23

不要在新 中使用原生態型別,而應該使用泛型。泛型的優點 1.編譯時就會進行型別檢查。當向乙個容器中裝入物件時,編譯器會檢查,插入的例項是不是前面宣告的型別。而不用等到執行時才會發現,而丟擲classcastexception.2.從集合中取元素不用再進行手工轉換,編譯器會替你進行隱式的轉換。盡量使用...