最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中用字符串調(diào)用函數(shù)或方法示例代碼

 更新時間:2017年08月04日 08:28:05   作者:Abnerzhao  
字符串作為python中常用的數(shù)據(jù)類型,掌握字符串的常用方法十分必要。下面這篇文章主要給大家介紹了關(guān)于Python中通過字符串調(diào)用函數(shù)或方法的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。

前言

本文主要給大家介紹了關(guān)于Python用字符串調(diào)用函數(shù)或方法的相關(guān)內(nèi)容,分享出來供大家參考學(xué)習(xí),下面來一起看看詳細(xì)的介紹:

先看一個例子:

>>> def foo():
    print "foo"

>>> def bar():
    print "bar"

>>> func_list = ["foo","bar"]
>>> for func in func_list:
    func()
TypeError: 'str' object is not callable

我們希望遍歷執(zhí)行列表中的函數(shù),但是從列表中獲得的函數(shù)名是字符串,所以會提示類型錯誤,字符串對象是不可以調(diào)用的。如果我們想要字符串變成可調(diào)用的對象呢?或是想通過變量調(diào)用模塊的屬性和類的屬性呢?

以下有三種方法可以實現(xiàn)。

eval()

>>> for func in func_list:
    eval(func)()
foo
bar

eval() 通常用來執(zhí)行一個字符串表達式,并返回表達式的值。在這里它將字符串轉(zhuǎn)換成對應(yīng)的函數(shù)。eval() 功能強大但是比較危險(eval is evil),不建議使用。

locals()和globals()

>>> for func in func_list:
    locals()[func]()
foo
bar

>>> for func in func_list:
    globals()[func]()
foo
bar

locals() 和 globals() 是python的兩個內(nèi)置函數(shù),通過它們可以一字典的方式訪問局部和全局變量。

getattr()

getattr() 是 python 的內(nèi)建函數(shù),getattr(object,name) 就相當(dāng)于 object.name,但是這里 name 可以為變量。

返回 foo 模塊的 bar 方法

>>> import foo
>>> getattr(foo, 'bar')() 

返回 Foo 類的屬性

>>> class Foo:
  def do_foo(self):
    ...

  def do_bar(self):
    ...

>>> f = getattr(foo_instance, 'do_' + opname)
>>> f()

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

參考

Calling a function of a module from a string with the function's name in Python

How do I use strings to call functions/methods?

相關(guān)文章

  • Pytorch中關(guān)于RNN輸入和輸出的形狀總結(jié)

    Pytorch中關(guān)于RNN輸入和輸出的形狀總結(jié)

    這篇文章主要介紹了Pytorch中關(guān)于RNN輸入和輸出的形狀總結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • python使用minimize()?函數(shù)替代matlab的fmincon函數(shù)

    python使用minimize()?函數(shù)替代matlab的fmincon函數(shù)

    這篇文章主要介紹了python使用minimize()函數(shù)替代matlab的fmincon函數(shù),在matlab中,fmincon函數(shù)可以用于求解帶約束的非線性多變量函數(shù)的最小值,即可以用來求解非線性規(guī)劃問題
    2022-09-09
  • Python 中pandas.read_excel詳細(xì)介紹

    Python 中pandas.read_excel詳細(xì)介紹

    這篇文章主要介紹了Python 中pandas.read_excel詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • python使用?toml的實現(xiàn)

    python使用?toml的實現(xiàn)

    本文將結(jié)合實例代碼介紹python使用?toml的實現(xiàn),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-06-06
  • python 對字典按照value進行排序的方法

    python 對字典按照value進行排序的方法

    這篇文章主要介紹了python 對字典按照value進行排序的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 詳解Python中while無限迭代循環(huán)方法

    詳解Python中while無限迭代循環(huán)方法

    Python 有 while 語句和 for 語句作為循環(huán)處理。雖然 for 語句具有一定數(shù)量的進程,但 while 語句是直到滿足條件類型的循環(huán)進程。本文將詳解while無限迭代循環(huán)方法,需要的可以了解一下
    2022-04-04
  • python使用xlsxwriter實現(xiàn)有向無環(huán)圖到Excel的轉(zhuǎn)換

    python使用xlsxwriter實現(xiàn)有向無環(huán)圖到Excel的轉(zhuǎn)換

    這篇文章主要為大家詳細(xì)介紹了python使用xlsxwriter實現(xiàn)有向無環(huán)圖到Excel的轉(zhuǎn)換,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • django數(shù)據(jù)模型on_delete, db_constraint的使用詳解

    django數(shù)據(jù)模型on_delete, db_constraint的使用詳解

    這篇文章主要介紹了django數(shù)據(jù)模型on_delete, db_constraint的使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Python實現(xiàn)多條件篩選Excel數(shù)據(jù)并批量繪制直方圖

    Python實現(xiàn)多條件篩選Excel數(shù)據(jù)并批量繪制直方圖

    這篇文章主要為大家介紹了如何Python對Excel數(shù)據(jù)進行多條件篩選和去除并批量繪制直方圖,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以參考一下
    2023-09-09
  • Python黑魔法Descriptor描述符的實例解析

    Python黑魔法Descriptor描述符的實例解析

    與迭代器和裝飾器等一樣,描述符也是Python編程中的一項高級技巧,這里我們就來講解Python黑魔法Descriptor描述符的實例解析:
    2016-06-06

最新評論

体育| 凤台县| 鲁山县| 砀山县| 田东县| 调兵山市| 永昌县| 互助| 呼图壁县| 河北区| 丹江口市| 安福县| 峡江县| 涿鹿县| 珲春市| 凤台县| 玉田县| 襄垣县| 邯郸县| 大新县| 三门峡市| 正安县| 江山市| 拜泉县| 灌云县| 上高县| 峨边| 昌吉市| 余庆县| 崇明县| 文登市| 交口县| 常宁市| 繁昌县| 刚察县| 巫山县| 望江县| 肇庆市| 嘉黎县| 吉水县| 宁陵县|