python動態語言特性小結

2021-05-22 20:33:52 字數 1034 閱讀 7434

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.單例模式...