有时候需要将属性或方法作为参数传入,这个时候可以通过以下几种方式用字符串调用对象属性或方法
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 [648]: def getmethod3(x, char='just for test'):
...: return operator.methodcaller(x, char)(str)
...:
In [649]: getmethod3('upper')
Out[649]: 'JUST FOR TEST'
以上这篇python 通过字符串调用对象属性或方法的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。
您可能感兴趣的文章:判断python对象是否可调用的三种方式及其区别详解Python面向对象程序设计多继承和多态用法示例Python面向对象程序设计之私有属性及私有方法示例Python中获取对象信息的方法Python检测一个对象是否为字符串类的方法Python中的对象,方法,类,实例,函数用法分析Python中动态获取对象的属性和方法的教程python进阶教程之函数对象(函数也是对象)Python对象的深拷贝和浅拷贝详解Python面向对象实现一个对象调用另一个对象操作示例