4.4.3 标准库中的上下文
@contextlib.contextmanager
def Reverse():
def reverse_write(content):
original_write(content[::-1])
original_write = sys.stdout.write
sys.stdout.write = reverse_write
yield 'Enter context'[::-1] # 下一行开始,是 __exit__ 的逻辑
sys.stdout.write = original_write5. 其他 Python 特色
5.1 多线程与GIL
5.1.1 多线程
import threading
from time import sleep
def think():
print('start thinking in thread: ' + threading.current_thread().name)
sleep(1)
print('end thinking')
for i in range(3):
t = threading.Thread(target = think)
t.start()
print('Exit')
# start thinking in thread: Thread-1
# start thinking in thread: Thread-2
# start thinking in thread: Thread-3
# Exit
# end thinking
# end thinking
# end thinkingLast updated