前置知識
第一部分 : __main__
第一部分 : __main__
def main():
程式內文
main():
在良葛格Python 的簡介模組介紹與應用中,提到會這樣用是因為 以物件導向來講每一個.py檔都是一個模組,模組撰寫可能來自不同的作者,個別的模組需要自我測試
我們可以所有程式共用一個程式進入點,這樣的python會像腳本語言 由上往下跑
呼叫別的模組的function再繼續往下一條做
每個module 都需要寫個main去做單體測試 這樣才能確保 別的函示呼叫 我們能夠運算並傳送正確的結果。
第二部分 : __init__
告訴python某個目錄是套件
Class的初始化函式是由兩條底線包含著init做宣告。
說明 : 第一步我們會宣告一個Class 而每個class內部都會有一個隱含宣告函式__init__
我們在隱含宣告函式中 去命名一個變數i 的數值為9527
另外我們額外宣告一個hello的自訂函式 把整個Class的主體中的i傳進去
因為是同個class 我們可以把self視為一般OOP的this
接著我們跳出Class的框架 new一個Demo的物件 為a並把6789傳進去
然後因為a複製Demo所以a也有個hello可以用 若無特別override改寫 其動作跟原始的是一樣的
接著就只是把6789傳進去而已,最後還是會是9527 是因為在__init__的內容已經特別去設定他的值了。
第三部分 : __str__
第四部分 : __del__
Class的初始化函式是由兩條底線包含著init做宣告。
Output:
另外一個範例John B 15
dave A 12
jane A 10
class Demo:
def __init__(self,i):
self.i = 9527
def hello(self):
print("hello", self.i)
a = Demo(6789)
a.hello()
我們在隱含宣告函式中 去命名一個變數i 的數值為9527
另外我們額外宣告一個hello的自訂函式 把整個Class的主體中的i傳進去
因為是同個class 我們可以把self視為一般OOP的this
接著我們跳出Class的框架 new一個Demo的物件 為a並把6789傳進去
然後因為a複製Demo所以a也有個hello可以用 若無特別override改寫 其動作跟原始的是一樣的
接著就只是把6789傳進去而已,最後還是會是9527 是因為在__init__的內容已經特別去設定他的值了。
第三部分 : __str__
第四部分 : __del__
第五部分 : __all__
===========================================
===========================================
Ch1
OO的起源 練習畫UML與關聯圖
Ch2
最簡單的class
class class_name :
pass
def _func(self, id):
前綴底線表示此方法僅供內部使用
Ch3
Python繼承實作
class a()
def aaa()
print("a")
class b(a) //視為classb繼承class a
def aaa()
print("b")
super.aaa()
>>> a
沒有留言:
張貼留言