1. 程式人生 > >Python之類變數踩坑

Python之類變數踩坑

1、首先是這樣有個類變數,你要在使用的,如果前面不加類名,那在方法裡就會去找全域性變數

顯然current_workspace_path是個類變數

class MainAc(object):
    window_TITLE = "Alu測試組工具合集_v1.0"
    current_workspace_path = os.getcwd()

產生錯誤的程式碼,current_workspace_path前沒有加類名MainAc

self.installAppPaths = file_name_list(current_workspace_path + "/apk") 


#此處沒有加類名,在類中預設還是會去找全域性變數,而不是優先找類變數
def box_list(self):
        self.box_variable = Tkinter.StringVar(self.root)
        self.box_variable.set("選取安裝包") # default value
        self.installAppPaths = file_name_list(MainAc.current_workspace_path + "/apk")
        self.box_list= Tkinter.OptionMenu(self.root, self.box_variable, *(self.installAppPaths),command = self.box_list_click_lis)
        self.box_list.pack()