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)

浙公网安备 33010602011771号