时间:2021-05-22
getatter()通过方法名字符串调用方法,这个方法最主要的作用就是实现反射机制,也就是说可以通过字符串获取方法实例,这样就可以把一个类可能要调用的方法放到配置文件里,需要的时候进行动态加载。
1: 可以从类中获取属性和函数
新建test.py文件,代码如下:
# encoding:utf-8import 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__]) # <module '__main__' from 'D:/脚本项目/lianxi/clazz/test.py'> print(GetText) # <class '__main__.GetText'> # 获取函数 print(getattr(GetText, "A")) # <function GetText.A at 0x00000283C2B75798> # 获取函数返回值 getattr(GetText, "A")() # this is a staticmethod function getattr(GetText(), "A")() # this is a staticmethod function print(getattr(GetText, "B")) # <function GetText.B at 0x000001371BF55798> # 非静态方法不可用 # getattr(GetText, "B")() getattr(GetText(), "B")() # this is a func print(getattr(GetText, "c")) # cc desc print(getattr(GetText(), "c")) # cc desc2:从模块中获取类(通过类名字符串得到类对象)
新建test1.py,代码如下:
#encoding:utf-8import sysimport testprint(sys.modules[__name__]) # 从模块中获取类对象class_name = getattr(test, "GetText")print(class_name) # <class 'test.GetText'> # 调用类的属性和函数print(getattr(class_name, "A")) # <function GetText.A at 0x000001D637365678># 获取函数返回值getattr(class_name, "A")() # this is a staticmethod functiongetattr(class_name(), "A")() # this is a staticmethod function print(getattr(class_name(), "B")) # <bound method GetText.B of <test.GetText object at 0x0000022D3B9EE348>># getattr(class_name, "B")() 非静态方法不可用getattr(class_name(), "B")() # this is a func # 获取属性值print(getattr(class_name, "c")) # cc descprint(getattr(class_name(), "c")) # cc desc以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
getattr`getattr`函数属于内建函数,可以通过函数名称获取复制代码代码如下:value=obj.attributevalue=getattr(obj
getattr()函数是Python自省的核心函数,具体使用大体如下:获取对象引用getattrGetattr用于返回一个对象属性,或者方法classA:def
1.getattr()函数是Python自省的核心函数,具体使用大体如下:classA:def__init__(self):self.name='zhangji
本文实例讲述了python中@property和property函数常见使用方法。分享给大家供大家参考,具体如下:1、基本的@property使用,可以把函数当
本文实例展示了Python使用函数默认值实现函数静态变量的方法,具体方法如下:一、Python函数默认值Python函数默认值的使用可以在函数调用时写代码提供方