python3知识
python一切皆对象
python所有对象类型都是type实例
object是所有对象的父类
class MyWith(): def __enter__(self): print('__enter__') return self def __exit__(self, exc_type, exc_val, exc_tb): print('__exit__') def dosomething(self): print('do .....') import contextlib @contextlib.contextmanager def MyWith1(filename): print(filename)##__enter__ yield {} ##dosomething print('end') ##__exit__ if __name__ == "__main__": with MyWith() as mw: mw.dosomething() with MyWith1('test.txt') as mw: print('test with')##dosomething ## __enter__ do ..... __exit__ test.txt test with end
class Company(): def __init__(self,name,emps): self.name=name self.emps=emps def __getitem__(self, item): print('item') # if isinstance(item,slice): # self.emps=self.emps[item] # elif isinstance(item,numbers.Integral): # self.emps = [self.emps[item]] return self.emps[item] def __reversed__(self): print('reverse') self.emps.reverse() def __len__(self): return len(self.emps) def __iter__(self): print('for') return iter(self.emps) def __contains__(self, item): print('in') return item in self.emps if __name__ == "__main__": comp=Company('keda',['aa','cc','dd','ee','33','55']) # print(comp[:2]) # print(comp.emps) # print(comp[0]) print('dd1' in comp) reversed(comp) for a in comp: print(a)