python 通过 实例方法 名字的字符串调用方法
生活随笔
收集整理的這篇文章主要介紹了
python 通过 实例方法 名字的字符串调用方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
方式1 - 反射
hasattr 方法
判斷當前實例中是否有著字符串能映射到的屬性或者方法, 一般會在 getattr 之前作為判斷防止報錯
getattr 方法
獲取到當前實例中傳入字符串映射到的屬性或者方法
示例
class A(object):def run(self):return "run"a = A()print hasattr(a, "run") # True print getattr(a, "run") # <bound method A.run of <__main__.A object at 0x0000000002A57160>> print getattr(a, "run")() # run方式2 - operator 模塊
methodcaller 方法
- 參數
傳入兩個參數, 分別為字符串表示映射的方法, 另一個參數為此方法的運行參數,
- 返回值
返回一個 字符串映射到的方法實例
示例
''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:579817333 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' import operatorclass A(object):def run(self):return "run"def eat(self, s):return s + ": eat"a = A()print operator.methodcaller("run") # <operator.methodcaller object at 0x0000000002ADAC08> print operator.methodcaller("run")(a) # run print operator.methodcaller("eat", "yangtuo")(a) # yangtuo: eat總結
以上是生活随笔為你收集整理的python 通过 实例方法 名字的字符串调用方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python列表list的基本性质
- 下一篇: python赋值方式