首页 > 其他分享 >25. 反射

25. 反射

时间:2023-09-01 18:55:05浏览次数:27  
标签:25 name 反射 print getattr result func test

一、什么是反射

  反射,本质上就是通过字符的形式去操作对象/模块中的成员。在 Python 中,我们可以通过三个内置函数去实现反射相关的功能。

getattr(object, name)                # 获取对象中的成员
setattr(object, name, value)         # 设置对象中的成员
hasattr(object, name)                # 判断对象的成员是否存在
import test

if hasattr(test,"run"):                     # 判断对象的成员是否存在
    func = getattr(test,"run")              # 获取对象中的成员
    result = func()
    print(result)

setattr(test,"name","Sakura")               # 设置对象中的属性
print(test.name)

print(getattr(test,"name"))

setattr(test,"sum",lambda a,b: a + b)       # 设置对象中的函数
result = test.sum(100,200)
print(result)

func = getattr(test,"sum")
result = func(10,20)
print(result)

标签:25,name,反射,print,getattr,result,func,test
From: https://www.cnblogs.com/kurome/p/17672685.html

相关文章

  • 牛客——SQL255 给出employees表中排名为奇数行的first_name
    描述对于employees表中,输出first_name排名(按first_name升序排序)为奇数的first_name输出格式:firstGeorgiAnneke请你在不打乱原序列顺序的情况下,输出:按first_name排升序后,取奇数行的first_name。如对以上示例数据的first_name排序后的序列为:Anneke、Bezalel......
  • (!重要)25动态数据传递/布局综合案例
        获取自身的脚本,持有脚本调用自身的方法更新自己   ......
  • Java的反射机制
    JAVA反射机制:程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”。尽管在这样的定义与分类下Java不是动态语言,它却有着一个非常突出的动态相关机制:Reflection(反射机制)。概述:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对......
  • C# - 多播委托 125
    C#-多播委托125首发2023-08-0705:23·源丁编程#头条创作挑战赛#C#多播委托(委托链)是一种特殊的委托类型,特殊在可以将多个相同签名的方法绑定到同一个委托实例上,调用委托实例时会一次性触发所有绑定的方法多播委托使用特殊的加法和减法运算符来进行方法绑定和解绑操作;......
  • 反射
    Java的反射是指在运行时动态地获取类的信息、调用对象的方法和访问对象的属性。通过反射,可以在编译时不知道具体类的情况下,动态地创建对象、调用方法和访问属性。Java反射的核心是java.lang.reflect包中的类和接口。以下是一些常用的反射类和方法的详解:Class类:java.lang.Class......
  • Visual Assist Cracked version:10.9.2500
    任何问题请反馈至邮箱:[email protected](随缘查看邮件)Anyporbs->[email protected]声明:本破解补丁仅供交流学习和研究使用,不可用于商业。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。Notice:thispatcherisforcommunication,learning......
  • 1-7可编程并行接口 8255 实验
    COM_8255EQU0273H ;8255控制口PA_8255EQU0270HPB_8255EQU0271HPC_8255EQU0272H_STACKSEGMENTSTACKDW100DUP(?)_STACKENDSDATASEGMENTWORDPUBLIC'DATA'DATAENDSCODESEGMENTSTARTPROCNEARASSUMECS:CODE,DS:DATA,SS:_STACK......
  • P1253 扶苏的问题
    \(P1253\)扶苏的问题一、题目描述给定一个长度为\(n\)的序列\(a\),要求支持如下三个操作:给定区间\([l,r]\),将区间内每个数都修改为\(x\)。给定区间\([l,r]\),将区间内每个数都加上\(x\)。给定区间\([l,r]\),求区间内的最大值。输入格式第一行是两个整数,依次表示......
  • C# 反射
    ​反射是一种动态分析程序集、模块、类型、字段等目标对象的机制,它的实现依托于元数据。元数据是存储在PE文件中的数据块,它详细记录了程序集或模块内部的结构、引用的类型和程序集和清单一、加载dll,读取相关信息//加载程序集Assemblyassembly=Assem......
  • 20230525 java.lang.Enum
    介绍java.lang.EnumpublicabstractclassEnum<EextendsEnum<E>>implementsConstable,Comparable<E>,Serializable所有枚举类的父类可序列化枚举类可以实现接口,不能继承APIstatic方法valueOfpublic方法name返回枚举常量名ordinal返回enum声明......