Python中如何使用getattr()函数

发布时间:2020-08-12 14:57:55

来源:亿速云

阅读:74

作者:小新

这篇文章将为大家详细讲解有关Python中如何使用getattr()函数,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

getatter()通过方法名字符串调用方法,这个方法最主要的作用就是实现反射机制,也就是说可以通过字符串获取方法实例,这样就可以把一个类可能要调用的方法放到配置文件里,需要的时候进行动态加载。

1: 可以从类中获取属性和函数

新建test.py文件,代码如下:

# encoding:utf-8

import sys

class GetText():

def __init__(self):

pass

@staticmethod

def A():

print("this is a staticmethod function")

def B(self):

print("this is a func")

c = "cc desc"

if __name__ == '__main__':

print(sys.modules[__name__]) #

print(GetText) #

# 获取函数

print(getattr(GetText, "A")) #

# 获取函数返回值

getattr(GetText, "A")() # this is a staticmethod function

getattr(GetText(), "A")() # this is a staticmethod function

print(getattr(GetText, "B")) #

# 非静态方法不可用

# getattr(GetText, "B")()

getattr(GetText(), "B")() # this is a func

print(getattr(GetText, "c")) # cc desc

print(getattr(GetText(), "c")) # cc desc

2:从模块中获取类(通过类名字符串得到类对象)

新建test1.py,代码如下:

#encoding:utf-8

import sys

import test

print(sys.modules[__name__])

# 从模块中获取类对象

class_name = getattr(test, "GetText")

print(class_name) #

# 调用类的属性和函数

print(getattr(class_name, "A")) #

# 获取函数返回值

getattr(class_name, "A")() # this is a staticmethod function

getattr(class_name(), "A")() # this is a staticmethod function

print(getattr(class_name(), "B")) # >

# getattr(class_name, "B")() 非静态方法不可用

getattr(class_name(), "B")() # this is a func

# 获取属性值

print(getattr(class_name, "c")) # cc desc

print(getattr(class_name(), "c")) # cc desc

关于Python中如何使用getattr()函数就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

python中getattr详解_Python中如何使用getattr()函数相关推荐

  1. python中configparser详解_Python中的ConfigParser模块使用详解

    1.基本的读取配置文件 -read(filename) 直接读取ini文件内容 -sections() 得到所有的section,并以列表的形式返回 -options(section) 得到该sect ...

  2. python scatter参数详解_Python中scatter函数参数及用法详解

    最近开始学习Python编程,遇到scatter函数,感觉里面的参数不知道什么意思于是查资料,最后总结如下: 1.scatter函数原型 2.其中散点的形状参数marker如下: 3.其中颜色参数c如 ...

  3. python scatter参数详解_Python 中 scatter 函数参数及用法详解

    Python 中 scatter 函数参数及用法详解 Python 中 scatter 函数参数及用法详解 这里有新鲜出炉的 Python 教程, 程序狗速度看过来! Python 编程语言 Pyth ...

  4. python算术运算符详解_Python中关于算术运算符的实例详解

    这篇文章主要介绍了Python算术运算符实例详解的相关资料,需要的朋友可以参考下 Python算术运算符 以下假设变量a为10,变量b为20: 运算符 描述 实例 + 加 - 两个对象相加 a + b ...

  5. python argparse模块详解_python中argparse模块用法实例详解

    本文实例讲述了python中argparse模块用法.分享给大家供大家参考.具体分析如下: 平常在写命令行工具的时候,经常会带参数,所以用python中的argparse来实现. # -*- codi ...

  6. python中ttk详解_Python 中的Property 动态属性和特性详解

    在Python开发时,考虑到安全性,我们会通过使用 '__' 定义私有属性,以限制类外或者子类都不能直接进行访问.操作.但同时,这些私有属性并不是一成不变的,所以我们还需要提供私有属性的对外操作方式. ...

  7. python nmap模块详解_python中的Nmap模块问题

    我已经安装了nmap.exe文件以及nmap模块.但我不确定如何配置nmap路径. 输入nmap路径的代码块如下所示class PortScanner(object): ""&qu ...

  8. python wx模块详解_python中wx模块的具体使用方法

    wx包中的方法都是以大写字母开头的,而这和Python的习惯是相反的. 本节介绍如何创建python程序的图形用户界面(GUI),也就是那些带有按钮和文本框的窗口.这里介绍wxPython : 根据自 ...

  9. python scatter参数详解_Python中scatter函数参数用法详解

    原博文 2018-10-21 16:09 − 1.scatter函数原型 2.其中散点的形状参数marker如下: 3.其中颜色参数c如下: 4.基本的使用方法如下: #导入必要的模块 import ...

最新文章

  1. stm32f103最小系统的组成及各部分功能
  2. 编译32位扩展在64位环境
  3. Web认证及API的 使用TOKEN的一些思考
  4. Lucene查询索引代码实现
  5. python基础—循环基础知识点
  6. 复权就是对股价和成交量进行权息修
  7. 计算机软件总体上分为,山大2017春季班期末考试 信息系统B
  8. 【itext学习之路】--3.对pdf文档进行加密和权限设置
  9. 【idea】 Unsupported class file major version 57
  10. Java:从 Map 到 HashMap 的一步步实现!
  11. 新春牛年迎春PSD分层模板!最全设计素材都在这了
  12. windows phone7 学习笔记06——数据绑定
  13. sqlmap指定cookie_Sqlmap Cookie注入 教程
  14. AutoCAD 2022 Mac激活
  15. Linux目录结构及其英文全称
  16. Ubuntu16.040如何解决安装网易云音乐后第二次开机打不开问题
  17. android apk上架流程,Android apk上架国内应用市场流程
  18. (译)ABP之Entities
  19. IDM产品安全机制说明
  20. fping命令-ping整个网段所有IP

热门文章

  1. 程序员面试金典1.1
  2. DynamipsGUI桥接Loopback网卡的方法
  3. Q_D指针和Q_Q指针
  4. ADB命令判断手机是否锁屏
  5. 使用 SwiftUI 的服务器驱动 UI
  6. 零基础可以学3d建模吗?没有美术基础多久可以学会建模入行呢?
  7. Streamsets技术验证
  8. ubuntu mutt发送邮件
  9. JIRA管理员密码忘记的解决办法
  10. python实现qq登录界面_Python自动登录QQ的实现示例