#!/usr/bin/env python
# -*- coding: utf-8 -*-
import queue
q=queue.Queue()
q.put(1)
li=[]
# li.append(1)
# print(li)
# q.get()
# li.remove(1)
# print(li)
import contextlib
@contextlib.contextmanager
def work_state(li,val):
li.append(val)
print(li)
try:
yield
finally:
li.remove(val)
print(li)
with work_state(li,1):
q.get()
C:\Python31\python.exe D:/pythoncode/a6.py
[1]
[]
Process finished with exit code 0
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import contextlib
import queue
@contextlib.contextmanager
def work_state(xxx,val):
xxx.append(val)
aaa = 123456789
try:
yield aaa
finally:
xxx.remove(val)
q = queue.Queue()
q.put("sl")
li = []
with work_state(li,1) as f:
print(f)
q.get()
C:\Python31\python.exe D:/pythoncode/a7.py
123456789
Process finished with exit code 0
本文来自博客园,作者:孙龙-程序员,转载请注明原文链接:https://www.cnblogs.com/sunlong88/articles/8691516.html