如何使用函式名稱從字串中呼叫 Python 模組的函式?


Python 中的物件具有例項變數和方法作為屬性。若要使用函式名稱從字串中呼叫模組的函式,可以首先獲得該屬性,再呼叫附加到它的函式物件。例如,假設我有一個模組 foo,有一個內容為“bar”的字串。呼叫 foo.bar() 最好的方法是

>>> import foo
>>> method_to_call = getattr(foo, 'bar')
>>> result = method_to_call()

如果你在全域性或區域性名稱空間中具有無需模組字首的函式,則還可以使用 globals() / locals()。locals 返回一個包含當前區域性符號表詞典。globals 返回一個包含全域性符號表詞典。

例如

>>> result = locals()["myfunction"]()
or
>>> result = globals()["myfunction"]()

最後更新時間: 2019 年 12 月 11 日

895 次瀏覽

開始您的職業生涯

透過完成課程獲得認證

開始
廣告