有时候需要将属性或方法作为参数传入,这个时候可以通过以下几种方式用字符串调用对象属性或方法
1、eval
In [634]: def getmethod(x,char='just for test'): ...: return eval('str.%s' % x)(char) ...:
In [635]: getmethod('upper') Out[635]: 'JUST FOR TEST'
2、getattr
In [650]: def getmethod2(x, char='just for test'): ...: return getattr(char, x)() ...:
In [651]: getmethod2('upper') Out[651]: 'JUST FOR TEST'
3、利用内置库operator
In [8]: def getmethod3(x, char='just for test'): ...: return operator.methodcaller(x, char)(str) ...:
In [9]: getmethod3('upper') Out[9]: 'JUST FOR TEST'
Copyright © 2019- igbc.cn 版权所有 湘ICP备2023023988号-5
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务