Python根据字符串调用函数过程解析

 更新时间:2020年11月05日 10:58:35   作者:南风丶轻语  
这篇文章主要介绍了Python根据字符串调用函数过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

1.使用 getattr(object, name, default=None) 获取属性

# -*- encoding=utf-8 -*-
class Test:
  def __init__(self):
    self.name = '莉莉'
    self.age = 18
if __name__ == '__main__':
  test = Test()
  name = getattr(test, 'name') # 获取属性
  print(name)
  age = getattr(test, 'age') # 获取属性
  print(age)
  none = getattr(test, 'none', 'none') # 获取不存在的属性,需要添加 default,否则抛异常
  print(none)

运行

莉莉
18
none

2.使用 getattr(object, name, default=None) 获取方法

# -*- encoding=utf-8 -*-
class Test:
  def __init__(self):
    self.name = '莉莉'
    self.age = 18

  def get_name(self):
    print('年龄是:{}'.format(self.name))
    return self.name
if __name__ == '__main__':
  test = Test()
  get_name = getattr(test, 'get_name') # 获取方法
  print(get_name)
  get_name() # 调用方法

运行

<bound method Test.get_name of <__main__.Test object at 0x000000A6C234DF98>>

年龄是:莉莉

3.使用__dict__获取属性

# -*- encoding=utf-8 -*-
class Test:
  def __init__(self):
    self.name = '莉莉'
    self.age = 18
if __name__ == '__main__':
  test = Test()
  name = test.__dict__['name']
  print(name)

运行

莉莉

ps: 如果使用getattr()遇到类属性和方法名是相同时,默认取属性

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • python 字符串格式化的示例

    python 字符串格式化的示例

    这篇文章主要介绍了python 字符串格式化的示例,帮助大家更好的理解和使用python处理字符串,感兴趣的朋友可以了解下
    2020-09-09
  • python 截取XML中bndbox的坐标中的图像,另存为jpg的实例

    python 截取XML中bndbox的坐标中的图像,另存为jpg的实例

    这篇文章主要介绍了python 截取XML中bndbox的坐标中的图像,另存为jpg的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • OpenCV 图像对比度的实践

    OpenCV 图像对比度的实践

    本文主要介绍了OpenCV 图像对比度的实践,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • python 文件常用操作demo(读写 打开方式)

    python 文件常用操作demo(读写 打开方式)

    这篇文章主要为大家介绍了python 文件常用操作demo(读写 打开方式)及使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • Window10下python3.7 安装与卸载教程图解

    Window10下python3.7 安装与卸载教程图解

    本文通过图文并茂的形式给大家介绍了WINDOW10下PYTHON3.7 安装与卸载,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • Python中的json对象与string相互转换教程

    Python中的json对象与string相互转换教程

    python里有json这个库,但并没有json这个类,所以所谓的json对象本质上就是一个dict;而json这个库,用于实现dict到string、string到dict的互转,这篇文章主要介绍了Python中的json对象与string相互转换教程,需要的朋友可以参考下
    2022-11-11
  • Python通过TensorFLow进行线性模型训练原理与实现方法详解

    Python通过TensorFLow进行线性模型训练原理与实现方法详解

    这篇文章主要介绍了Python通过TensorFLow进行线性模型训练原理与实现方法,结合实例形式详细分析了Python通过TensorFLow进行线性模型训练相关概念、算法设计与训练操作技巧,需要的朋友可以参考下
    2020-01-01
  • Python3的高阶函数map,reduce,filter的示例详解

    Python3的高阶函数map,reduce,filter的示例详解

    这篇文章主要介绍了Python3的高阶函数map,reduce,filter的示例代码,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • Python学习笔记之错误和异常及访问错误消息详解

    Python学习笔记之错误和异常及访问错误消息详解

    这篇文章主要介绍了Python学习笔记之错误和异常及访问错误消息,结合实例形式分析了Python错误和异常及访问错误消息try...except语句相关使用技巧,需要的朋友可以参考下
    2019-08-08
  • Pycharm导包失败问题及解决

    Pycharm导包失败问题及解决

    这篇文章主要介绍了Pycharm导包失败问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08

最新评论