python中getattr详解_Python中如何使用getattr()函数
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()函数相关推荐
- python中configparser详解_Python中的ConfigParser模块使用详解
1.基本的读取配置文件 -read(filename) 直接读取ini文件内容 -sections() 得到所有的section,并以列表的形式返回 -options(section) 得到该sect ...
- python scatter参数详解_Python中scatter函数参数及用法详解
最近开始学习Python编程,遇到scatter函数,感觉里面的参数不知道什么意思于是查资料,最后总结如下: 1.scatter函数原型 2.其中散点的形状参数marker如下: 3.其中颜色参数c如 ...
- python scatter参数详解_Python 中 scatter 函数参数及用法详解
Python 中 scatter 函数参数及用法详解 Python 中 scatter 函数参数及用法详解 这里有新鲜出炉的 Python 教程, 程序狗速度看过来! Python 编程语言 Pyth ...
- python算术运算符详解_Python中关于算术运算符的实例详解
这篇文章主要介绍了Python算术运算符实例详解的相关资料,需要的朋友可以参考下 Python算术运算符 以下假设变量a为10,变量b为20: 运算符 描述 实例 + 加 - 两个对象相加 a + b ...
- python argparse模块详解_python中argparse模块用法实例详解
本文实例讲述了python中argparse模块用法.分享给大家供大家参考.具体分析如下: 平常在写命令行工具的时候,经常会带参数,所以用python中的argparse来实现. # -*- codi ...
- python中ttk详解_Python 中的Property 动态属性和特性详解
在Python开发时,考虑到安全性,我们会通过使用 '__' 定义私有属性,以限制类外或者子类都不能直接进行访问.操作.但同时,这些私有属性并不是一成不变的,所以我们还需要提供私有属性的对外操作方式. ...
- python nmap模块详解_python中的Nmap模块问题
我已经安装了nmap.exe文件以及nmap模块.但我不确定如何配置nmap路径. 输入nmap路径的代码块如下所示class PortScanner(object): ""&qu ...
- python wx模块详解_python中wx模块的具体使用方法
wx包中的方法都是以大写字母开头的,而这和Python的习惯是相反的. 本节介绍如何创建python程序的图形用户界面(GUI),也就是那些带有按钮和文本框的窗口.这里介绍wxPython : 根据自 ...
- python scatter参数详解_Python中scatter函数参数用法详解
原博文 2018-10-21 16:09 − 1.scatter函数原型 2.其中散点的形状参数marker如下: 3.其中颜色参数c如下: 4.基本的使用方法如下: #导入必要的模块 import ...
最新文章
- stm32f103最小系统的组成及各部分功能
- 编译32位扩展在64位环境
- Web认证及API的 使用TOKEN的一些思考
- Lucene查询索引代码实现
- python基础—循环基础知识点
- 复权就是对股价和成交量进行权息修
- 计算机软件总体上分为,山大2017春季班期末考试 信息系统B
- 【itext学习之路】--3.对pdf文档进行加密和权限设置
- 【idea】 Unsupported class file major version 57
- Java:从 Map 到 HashMap 的一步步实现!
- 新春牛年迎春PSD分层模板!最全设计素材都在这了
- windows phone7 学习笔记06——数据绑定
- sqlmap指定cookie_Sqlmap Cookie注入 教程
- AutoCAD 2022 Mac激活
- Linux目录结构及其英文全称
- Ubuntu16.040如何解决安装网易云音乐后第二次开机打不开问题
- android apk上架流程,Android apk上架国内应用市场流程
- (译)ABP之Entities
- IDM产品安全机制说明
- fping命令-ping整个网段所有IP