python 通过字符串调用对象属性或方法的实例讲解

yipeiwu_com6年前Python基础

有时候需要将属性或方法作为参数传入,这个时候可以通过以下几种方式用字符串调用对象属性或方法

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中如果使用系统默认的open方法打开的文件只能写入ascii吗,如果要写入中文需...

Flask框架学习笔记之使用Flask实现表单开发详解

Flask框架学习笔记之使用Flask实现表单开发详解

本文实例讲述了使用Flask实现表单开发。分享给大家供大家参考,具体如下: <!DOCTYPE html> <html lang="en"> <head...

python 实现保存最新的三份文件,其余的都删掉

我就废话不多说了,直接上代码吧! """ 对于每天存储文件,文件数量过多,占用空间 采用保存最新的三个文件 """ from airflow import DAG from airf...

深入理解python中的闭包和装饰器

深入理解python中的闭包和装饰器

python中的闭包从表现形式上定义(解释)为:如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就被认为是闭包(closure)。 以下说明主要针对...

python射线法判断检测点是否位于区域外接矩形内

本文实例为大家分享了python射线法判断点是否位于区域内的具体代码,供大家参考,具体内容如下 #!/usr/bin/env python # -*- coding: utf-8 -...