python 反射

通过字符串映射或修改程序运行时的状态、属性、方法, 有以下4个方法:

hasattr(obj,name_str) 判断一个对象obj里是否有对应的name_str字符串的方法,返回一个布尔值 getattr(obj,name_str) 根据字符串去获取obj对象里的对应的方法的内存地址 setattr(obj,'y',z) 将给定对象的命名属性设置为指定的值 delattr(x, 'y')       从给定对象中删除指定的属性

class Foo(object):
    def __init__(self):
        self.name = 'zhangsan'
    def func(self):
        return 'func'
obj = Foo()
print(hasattr(obj,'func1'))   #检查是否有成员
print(getattr(obj,'name'))    #获取成员
setattr(obj,'age',18)         #设置成员
print(obj.age)
delattr(obj,'name')  #删除成员
print(obj.name)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏LEo的网络日志

python技巧分享(六)

2916
来自专栏黑泽君的专栏

JDK5中Lock锁的使用

(1)JDK5中Lock锁的使用   虽然我们可以理解同步代码块和同步方法的锁对象问题,但是我们并没有直接看到在哪里加上了锁,在哪里释放了锁,为了更清晰的...

831
来自专栏程序员互动联盟

【专业技术第十二讲】void的妙用

存在问题: 遇到微信好友询问关于void *的用法,这里做一个总结性的回复。 解决方案: void的字面意思是空类型,void *的意思是空类型指针,void ...

36110
来自专栏决胜机器学习

《Redis设计与实现》读书笔记(五) ——Redis中的整数集合

《Redis设计与实现》读书笔记(五) ——Redis中的整数集合 (原创内容,转载请注明来源,谢谢) 一、概述 整数集合(intset)是redis数据结构集...

3374
来自专栏HTML5学堂

PHP入门-常量基本规则

PHP入门-常量基本规则 HTML5学堂:本文是PHP的入门用文章,主要介绍PHP的常量的基本规则以及定义和获取方法。 前几天把PHP的基本语法以及变量的基本规...

37315
来自专栏北京马哥教育

17个案例带你3分钟搞定Linux正则表达式

正则表达式是一种字符模式,用于在查找过程中匹配制定的字符。 元字符通常在Linux中分为两类: Shell元字符,由Linux Shell进行解析; 正则表达式...

3444
来自专栏python读书笔记

《算法图解》NOTE 2 数组、链表及选择排序1.数组2.链表3.选择排序法

1353
来自专栏JetpropelledSnake

Python入门之函数的嵌套/名称空间/作用域/函数对象/闭包函数

本篇目录:     一、函数嵌套     二、函数名称空间与作用域     三、函数对象     四、闭包函数 ========================...

38210
来自专栏Hongten

python开发_copy(浅拷贝|深拷贝)_博主推荐

==================================================

963
来自专栏C语言及其他语言

[蓝桥杯]字符逆序

题目描述 将一个字符串str的内容颠倒过来,并输出。str的长度不超过100个字符。 输入 输入包括一行。 第一行输入的字符串。 输出 输出转换好的逆序字符串。...

3495

扫码关注云+社区