定制实例属性的访问 查: hasattr(g,’属性名’) # 返回bool值 getattr(g,‘属性名’) # 访问属性 改: g.mane setattr(g,‘属性名’,属性值) g.__setattr__((‘属性名’,属性值) ...
分类:
其他好文 时间:
2018-05-22 23:56:56
阅读次数:
172
反射:可以用字符串的方式去访问对象的属性,调用对象的方法(但是不能去访问方法),python中一切皆对象,都可以使用反射。 反射有四种方法: hasattr:hasattr(object,name)判断一个对象是否有name属性或者name方法。有就返回True,没有就返回False getattr ...
分类:
其他好文 时间:
2018-05-18 20:08:07
阅读次数:
147
Python面向对象中的“私有化” Python并不直接支持私有方式,而要靠程序员自己把握在外部进行特性修改的时机。 为了让方法或者特性变为私有(从外部无法访问),只要在它的名字前面加上双下划线即可。 由双下划线 __ 开始的属性在运行时被“混淆”,所以直接访问是不允许的。 实际上,在 Python ...
分类:
编程语言 时间:
2018-05-12 20:35:29
阅读次数:
163
JSP简单实现统计网页访问次数 需求:统计网页的访问次数 核心思想:利用application对象,将访问次数的信息放入application对象中,每次访问就+1。这里利用了application对象每次只有当应用关闭才被销毁的特性。 核心代码如下: ...
分类:
Web程序 时间:
2018-05-05 22:14:17
阅读次数:
323
阅读了fluent python的metaprogramming这一大章节,下面对阅读后产生的感想做一下总结。 首先是关于对象 属性 访问的4个protocol 按照理解可以划分为 __getattribute__ 和 __getattr__ __setattr__ __delattr__ 这样划分 ...
分类:
编程语言 时间:
2018-05-04 17:03:37
阅读次数:
189
反射机制: 共四个方法: 1、hasattr(obj,‘name‘)判断一个对象obj里面是否有对应name字符串对应的方法 2、getattr(obj,‘name’)根据name字符串去获取obj对象里同名的方法内存地址 3、setattr(obj,‘method’,name) 相当于x.y=z, ...
分类:
其他好文 时间:
2018-05-03 23:30:19
阅读次数:
176
#__setattr__ __delattr__class Test: def __init__(self, **kwargs): for k, v in kwargs.items(): setattr(self, k, v) def __delattr__(self, item): print(i... ...
分类:
编程语言 时间:
2018-05-03 10:22:26
阅读次数:
182
内置方法 isinstance 只能判断是否为父子类的关系 不能判断爷爷和孙子的关系(False) issubclass 判断是否有继承关系 只要有继承关系都为真 反射 类中反射 对象反射 模块反射 自己反射 getattr和hasattr 增删改对象的属性,和类的属性增删改 setattr del ...
分类:
其他好文 时间:
2018-04-27 12:26:51
阅读次数:
154
应用技术点 python之__setattr__ python之threading.local python之偏函数 python之__setattr__ python之threading.local python之偏函数 flask源码上下文管理 1、综述过程 将请求对象压入栈 1.请求进入 __ ...
分类:
其他好文 时间:
2018-04-26 19:52:05
阅读次数:
210
hasattr(object, name) 判断一个对象(object)是否存在name属性或方法,返回boolean值,有name属性返回True, 否则返回False getattr(object, name[, default]) 获取对象object的属性或方法(name), 如果存在打印出 ...
分类:
编程语言 时间:
2018-04-26 12:26:00
阅读次数:
193