摘要: 文件I/O操作可以对文件对象使用上下文管理,使用with as语法 with open('file') as f: pass 上下文管理对象 当一个对象同时实现了__enter__()和__exit__()方法,就属于上下文管理对象 __enter__进入与此对象相关的上下文,如果存在该方法,wit 阅读全文
posted @ 2020-10-06 20:06 ascertain 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 类思想实现 class Fabonacci: def __init__(self): self.b=[1,1] # 缓存计算结果 def __call__(self,p): if p <= len(self.b): # 判断是否已经计算过 return self.b[p-1] for v in ra 阅读全文
posted @ 2020-10-06 15:46 ascertain 阅读(160) 评论(0) 推荐(0) 编辑
摘要: def vix(): print(vix.__module__,vix.__name__) vix() == vix.__call__() 对象vix加上(),就是调用对象的__call__()方法 定义一个类,实例化得到实例,将实例像函数一样调用 def viz(*args): print(arg 阅读全文
posted @ 2020-10-06 02:24 ascertain 阅读(90) 评论(0) 推荐(0) 编辑
摘要: __len__内建函数len(),返回对象的长度(>=0),把对象当作容器类型看,如同list或dict,bool()函数调用的时候,如果没有__bool__()方法,则会看__len__()方法是否存在,存在返回非0为真 __iter__ 迭代容器时调用,返回一个新的迭代器对象 __contain 阅读全文
posted @ 2020-10-06 01:09 ascertain 阅读(107) 评论(0) 推荐(0) 编辑