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.從集合中取元素不用再進行手工轉換,編譯器會替你進行隱式的轉換。盡量使用...