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 条评论
登录 后参与评论

相关文章

  • sqlalchemy ORM

    orm英文全称object relational mapping,就是对象映射关系程序,简单来说我们类似python这种面向对象的程序来说一切皆对象,但是我们使...

    用户1679793
  • 面向对象编程-类

    面向对象编程OOP (object-oriented programming)是最有效的软件编写方法之一,面向对象是利用“类”和“对象”来创建各种模拟来实现对真...

    用户1679793
  • python之路-day1-while循环

    while Thue: (条件为真无限循环)  break(跳出循环) 猜年龄: #Author:zww age_of_jay = 40 count = 0 w...

    用户1679793
  • 32.Django form组件

    Form组件  Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面...

    zhang_derek
  • 用图片代替提交和重置按钮

    为了整个界面美观,我们需要对提交和重置按钮美化一番,可是无论用什么CSS样式定义按钮,都很难达到满意的效果,只得用JS+图片的方式进行处理,下边我是总结出的三种...

    幽鸿
  • [探索]怎样让 JS - API 具有更好的实用性

    在上家公司开发后台管理系统的时候,频繁要处理各种数据显示的问题,一开始是实现就好。后来写多了,自己看得也难受了。就想着怎么优化代码和复用了。下面就通过一个简单的...

    守候i
  • 原生JS的Ajax

          非IE6浏览器:var obj = new XMLHttpReuqest();

    莫问今朝
  • C# 使用dynamic类型来访问JObject对象

    dynamic是C#里面的动态类型,可在未知类型的情况访问对应的属性,非常灵活和方便。

    Mr. Wei
  • JavaScript 对象

    JavaScript 中的所有事物都是对象:字符串、数值、数组、函数… 对象创建 var obj = Object.create({x:1}); 属性 obj....

    康怀帅
  • javascript对深拷贝对象的研坑

    对于深拷贝,浅拷贝的概念不多说,概念可以自行百度哟!这里对深拷贝对象进行一些研究!

    张炳

扫码关注云+社区

领取腾讯云代金券