Python 如何將一變數做為函式名?

pythontab發表於2013-08-13

PHP 有變數函式這一用法(見 http://www.php.net/manual/en/functions.variable-functions.php)

即有一字串變數

現在想用這個變數的值做為某函式名來呼叫

程式碼如下:

def bar():
    return 'bar'
foo = 'bar'
foo() #此處想呼叫 bar()

不知道 Python 是否有此類用法?

哈哈,python是這麼強大,python當然也是可以支援的

python有個eval函式(貌似好多語言都有這個函式)可以解決這個問題。

程式碼如下:

def foo():
  print 'hi'
t = eval('foo')
t()

問題二:python可以import一個為某變數值的模組嗎?

foo = 'bar'
import foo #此處想匯入 bar

這個地方要用到另外一個函式了。。。

上程式碼:

m = 'sys'
exec "import " + m

這樣就ok了


相關文章