2019.8.19
物件導向程式設計基礎
把一組資料結構和處理它們的方法組成物件(object),把相同行為的物件歸納為類(class),通過類的封裝(encapsulation)隱藏內部細節,通過繼承(inheritence)實現類的特化(specialization)和泛化(generalization),通過多型(polymorphism)實現基於物件型別的動態分派
一、類和物件
物件是類的例項。一切皆為物件,物件都有屬性(靜態特徵)和行為(動態特徵)。
二、定義類
關鍵字 class
class
student
(object):
#__init__是乙個特殊方法用於在建立物件是進行初始化操作
#通過這個方法我們可以為學生物件繫結name和age兩個屬性
def__init__
(self,name,age):
self.name = name
self.age = age
defstudy
(self,course_name)
:print
('%s正在學習%s.'
(self.name,course_name))
說明: 寫在類中的函式,我們通常稱之為(物件的)方法,這些方法就是物件可以接收的的資訊
三、建立和使用物件
class
class_name
(object):
def__init__
((self)
: self.a =
1000
defa
(self)
:print
('karry roy jackson'
)if __name__ ==
"__main__"
: joker = class_name(
)#()相當於走了初始化__init__
joker.a(
)#類中呼叫需要使用「.」
print
(joker.a)
(base) c:\users\administrator>f:
/install/anaconda/python.exe d:
/vscode/untitled-mon1.py
karry roy jackson
1000
四、訪問可見性問題在python中,屬性和方法的訪問許可權只有兩種,也就是公開的和私有的,如果希望屬性是私有的,在給屬性命名時可以用兩個下劃線作為開頭,下面的**可以驗證這一點。
class
test
:def
main()
: test = test(
'hello'
)# attributeerror: 'test' object has no attribute '__bar'
test.__bar(
)#私有屬性
# attributeerror: 'test' object has no attribute '__foo' #私有屬性
print
(test.__foo)
if __name__ ==
"__main__"
: main(
)
五、面對物件的支柱物件導向有三大支柱:封裝、繼承和多型
課堂練習
列印進度條
讀取檔案中大寫字母個數
學習python 第四天
python 迴圈結構 迴圈結構可以輕鬆的控制某件事重複 再重複的發生。在python中構造迴圈結構有兩種做法,一種是for in迴圈,一種是while迴圈。for in迴圈 如果明確的知道迴圈執行的次數或者是要對乙個容器進行迭代 後面會講到 那麼我們推薦使用for in迴圈 用for迴圈實現1 1...
Python學習 第四天
map函式可以對序列中個每個值進行某種批量轉化操作,然後將結果作為迭代器iterator返回,迭代器可以利用for迴圈或者next 函式來訪問每個值。map函式接收兩個引數,乙個是函式f,乙個是iterator,map在iterable的每個元素上依次執行函式f,並把結果作為新的iterator迭代...
學習python,第四天
echo 內容 a 將內容放到檔案裡 ls lh a 會覆蓋原有內容 echo a 追加到末尾 不會覆蓋原有內容 管道 ls lha more shutdown關機 shutdown now立刻關機 shutdown r重啟 shutdown c取消 shutdown 10 00十點關機 shutd...