python 動態語言特性
a.動態模組呼叫
如果模組是動態的,如從某個配置檔案中讀取.
那麼關於模組的字串如何轉換為**的import呢,下面**很好解釋了這一點
例子11 sys = __import__('sys')
2 os = __import__('os')
3 re = __import__('re')
4 print sys.path()
例子21 modulenames = ['sys', 'os', 're', 'unittest']
2 modules = map(__import__, modulenames)
3 print modules[0].version
b.函式的動態呼叫
關鍵:python中一切都是物件
01 def method1(self,a=none):
02 print "1"
03 def method2(self,b=none):
04 print "2"
05 def method3(self,c=none):
06 print "3"
07
08 controllers =
12 13 def callfunc(self,funcname=none,params=none):
14 func = self.controllers.get(funcname, none)
15 if func:
16 return func(self,params)
c.引數動態傳入
關鍵:字典型物件
如上例,如果method1中需要傳入複雜物件a,method2中需要傳入複雜物件a,b
那麼如何處理呢。
乙個辦法可以搞定,通通傳入字典型物件,把a,b放到字典型引數params中進行傳遞
當引數物件為字典型的時候是傳遞引用的,普通引數如int型是傳遞值的
python 動態特性學習
python是一門動態語言,可以動態的建立類。這裡主要學習exce,eval,execfile,complie.exce 是跟while,for一樣的python語句 eval,excefile,complie 是python的內建函式 1 exce 可以執行儲存在字串中的python exec p...
C 11語言特性小結
1 型別推導 auto 這個不用多說,c 11提供了不需要預先知道變數型別時,即可定義變數的方式 auto關鍵字。其實我認為一般在明確知道變數型別時,不用偷懶還是用確定的變數型別定義即可,一般auto用在不知道變數型別或者是宣告迭代器變數時 vector int vec vector int vec...
python語言特性 三
16.super用法 super 是用來解決多重繼承問題的,直接用類名呼叫父類方法在使用單繼承的時候沒問題,但是如果使用多繼承,會涉及到查詢順序 mro 重複呼叫 鑽石繼承 等種種問題。總之前人留下的經驗就是 保持一致性。要不全部用類名呼叫父類,要不就全部用 super,不要一半一半。17.單例模式...