python面向對象筆記

定義類就是建立模型(模子/印章)
實例化類就是建立真實事物(產品/印章印出的圖案)
特徵/屬性,是類自身包含或指導的數據
能力,以方法體現,是類具有能動性的體現
實例化步驟:
調用new()方法創建實例
new()方法自動從object繼承
調用init()方法對其初始化
init()方法在類中定義
添加類說明(docstring):
緊跟類名行之後,以三引號保爲的字符串
help(類名) 可查看類說明
class TestClass:
'''
這是類的說明
'''
def pr(self):
print("hello world!")
pass
help(TestClass)

新式類與經典類:
python2.X版本默認是經典類,繼承object爲新式類
python3.X版本統一爲新式類,不用繼承object
區別:
經典類繼承爲深度優先
新式類繼承爲廣度優先
實例屬性:
類被實例化以後纔會具有的屬性
一般在init()方法中創建並初始化
直接使用即定義:self.<屬性名>
引用方法:self.<屬性名>
self代表類的實例
類外用實例名,屬性名方式定義和引用
相同類的不同實例其實例屬性是不相關的
一般不建議在init()方法之外中創建和初始化實例屬性
一般不推薦類外定義和修改,修改可以單獨定義方法
類屬性:
類定義後就存在,而且不需要實例化
類屬性使得相同類的不同實例共同持有相同變量

-- coding=utf-8 --

class TestClass:
cssa = 'Hello World!!!'
def info(self):
print('yyy:',self.cssa)
pass
rc = TestClass()
rc.info()
rc1 = TestClass()
rc1.info()
TestClass.cssa = 'my name is fahai, i am administrator'
rc.info()
rc1.info()
私有屬性:
不提供限制屬性訪問的關鍵字(無法限制類的各種屬性在類外直接訪問)
使用__開頭的變量名加以標誌,只有類對象自己能訪問
使用_開頭的變量名加以標誌,應該只有類對象及子類能訪問(非強制性)

-- coding=utf-8 --

class A:
def init(self):
self.__ab = 0

def info(self):
    print(self.__ab)
pass

a = A()
a.info()
a.ab = 3
a.info()
print(a.
ab)
特殊屬性:
doc 保存類說明文檔字符串
name 保存類的名稱
dict 保存實例屬性名稱和值
module 保存類所在的文件名
base 保存這個類的父類

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章