前引 在了解flask上下文管理机制之前,先来一波必知必会的知识点。 面向对象双下方法 首先,先来聊一聊面向对象中的一些特殊的双下划线方法,比如__call__、__getattr__系列、__getitem__系列。 __call__ 这个方法相信大家并不陌生,在单例模式中,我们可能用到过,除此之 ...
分类:
其他好文 时间:
2018-11-08 22:10:59
阅读次数:
176
#item系列 和对象使用[]访问值有联系 #obj={'k':'v'} #print(obj) #print(obj['k']) class B: def __getitem__(self, item): #print('执行我了',item) #return 'bbb' return getat... ...
分类:
其他好文 时间:
2018-11-06 14:36:04
阅读次数:
172
1.利用简单的例子来展示实现 __getitem__ __len__ 这2个特殊方法 定义一个字牌类 利用 namedtuple方法 得到一个字牌的对象 ...
分类:
编程语言 时间:
2018-10-25 14:16:43
阅读次数:
175
# class 内置方法: # __setitem__ # __getitem__ # __delitem__ class Test(): X = 100 def __getitem__(self, item): print("getitem") def __setitem__(self, key,... ...
分类:
编程语言 时间:
2018-10-14 00:34:25
阅读次数:
147
目录 isinstance和issubclass 反射 setattr delattr getattr hasattr __str__和__repr__ __del__ item系列 __getitem__ __setitem__ __delitem__ __new__ __call__ __len ...
分类:
编程语言 时间:
2018-10-12 16:00:52
阅读次数:
198
一、Python解释器碰到特殊句法时,会使用特殊方法去激活一些基本的对象操作,这些特殊方法的名字以两个下划线开头,以两个下划线结尾 - 举例:obj[key]背后就是__getitem__方法 - 没有实现__getitem__方法,无法使用[]获取类中的dict - 实现__getitem__方法 ...
分类:
编程语言 时间:
2018-10-11 23:42:46
阅读次数:
211
1、利用key排序 d1 2d2 4d3 3d4 1 2、利用value排序:__getitem__ d4 1d1 2d3 3d2 4 反序:reverse=True d2 4d3 3d1 2d4 1 3、对dict_items进行排序 [('d2', 4), ('d3', 3), ('d1', 2 ...
分类:
编程语言 时间:
2018-09-27 13:04:19
阅读次数:
163
python中的迭代器可迭代对象迭代是指重复反馈过程,每一次的迭代都会得到一个结果,又是下一次迭代的开始。在python中,一个对象只要是实现了__iter__()或__getitem__()方法,就被称为可迭代对象。python中的可迭代对象有字符串、列表、元组、字典、文件;自定义的类若是实现了__iter__()或__getitem__()方法,则也是可迭代对象~遍历可迭代对象,这里仅以文件为
分类:
编程语言 时间:
2018-09-24 12:48:52
阅读次数:
166