阅读了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
迭代器-生成器 楔子: 假如我现在有一个列表l=['a','b','c','d','e'],我想取列表中的内容,有几种方法? 首先,我们可以通过索引取值l[0],其次我们是不是还可以用for循环来取值? 你有没有仔细考虑过,乜可以去到任意位置的值,前前提是你要知道这个值得在什么位置。 如果用for循 ...
分类:
其他好文 时间:
2018-04-26 14:52:55
阅读次数:
182
1、直接把表单的参数写在Controller相应的方法的形参中,适用于get方式提交,不适用于post方式提交。 /** * 1.直接把表单的参数写在Controller相应的方法的形参中 * @param username * @param password * @return */ @Reque ...
分类:
编程语言 时间:
2018-04-23 15:54:07
阅读次数:
185
复习: #反射 必须会,必须能看的懂,必须知道在哪儿用 #hasattr getattr setattr delattr 内置方法 必须能看懂 能用尽量用 __len__len(obj)的结果依赖于obj.__len()__的结果,计算对象的长度 __hash__ hash(obj)的结果依赖于ob ...
分类:
编程语言 时间:
2018-04-21 23:32:37
阅读次数:
201
今日主要内容 1.面向对象高级特性 反射 2.内置函数和内置方法补充 1.什么是反射: 通过内置函数getattr(),hasattr(),setattr(),delattr()实现,在类外通过对字符串的操作,能够将类内同名的静态变量,方法,如对象属性是无法取到值的. 也可以理解为: ***正常情况 ...
分类:
编程语言 时间:
2018-04-18 22:31:19
阅读次数:
205
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__ ...
分类:
编程语言 时间:
2018-04-02 20:02:17
阅读次数:
156
原文作者:田小计划 原文出处:http://www.cnblogs.com/wilber2013/ (若转载,请标明原文出处) 在编写程序的过程中,经常需要进行格式化输出,每次用每次查。干脆就在这里整理一下,以便索引。 格式化操作符(%) "%"是Python风格的字符串格式化操作符,非常类似C语言 ...
分类:
编程语言 时间:
2018-04-01 13:07:40
阅读次数:
1009