變數名稱前有兩條底線就成為 私有 (Private) 變數
class Test (): __a = 0 # 私有變數 b = 0 # 公開變數 def setA(self,a): Test.__a=a def getA(self): return Test.__a t = Test() t.setA(99) print(t.getA()) # 從公開方法(函數)取得私有變數為合法程式 # print(t.__a) # 直接取得私有變數為錯誤程式
變數名稱前有兩條底線就成為 私有 (Private) 變數
class Test (): __a = 0 # 私有變數 b = 0 # 公開變數 def setA(self,a): Test.__a=a def getA(self): return Test.__a t = Test() t.setA(99) print(t.getA()) # 從公開方法(函數)取得私有變數為合法程式 # print(t.__a) # 直接取得私有變數為錯誤程式
無建構子版本:
import threading, time class MyClass (threading.Thread): # 繼承 Thread 類別 def run(self): # 覆載 (Override) Thread 類別的方法(函數) for i in range(5): # 迴圈執行五次 print('ok') # 輸出 ok time.sleep(1) # 暫停一秒,如果要暫停 0.1秒可寫成 time.seep(0.1) MyClass().start() # 啟動執行緒
如果要在擁有執行緒物件初始化建構子,則還需添加一行程式碼:threading.Thread.__init__(self) ,未添加此行則會發稱執行時期錯誤,無法啟動 start() 方法(涵式),如下範例:
有建構子版本:
import threading, time class MyClass (threading.Thread): # 繼承 Thread 類別 def __init__(self): threading.Thread.__init__(self) print('做一些事...') def run(self): # 覆載 (Override) Thread 類別的方法(函數) for i in range(5): # 迴圈執行五次 print('ok') # 輸出 ok time.sleep(1) # 暫停一秒,如果要暫停 0.1秒可寫成 time.seep(0.1) MyClass().start() # 啟動執行緒
在Netbeans [工具→外掛→設定→加入] 中添加此網址: http://deadlock.netbeans.org/hudson/job/nbms-and-javadoc/lastStableBuild/artifact/nbbuild/nbms/updates.xml.gz
之後在到 [可用的外掛程式] 安裝即可
class MyClass: def setName(n, name): n.name = name def getName(n): return n.name m = MyClass() m.setName('黃彥霖') print(m.getName())
輸出結果:黃彥霖
def big(a, b): if a>b : return a else : return b print(big(3,5)) print(big(5,3)) print(big('AAA','BBB'))
執行結果: 5 |