Monthly Archives: 12月 2018

Python list 完整替换

By | 12月 12, 2018

今天在看上下文管理器的时候发现了一个有趣的用法,可以用于 Python 中 list 的整体内容替换。
看下面两段代码产生的输出,第一个是常用的赋值的方式:

s = [1, 2, 3]
t = [4, 5, 6]
print('origin addr of s: %s' % hex(id(s)))
print('origin addr of t: %s' % hex(id(t)))
s = t
print('origin addr of s: %s' % hex(id(s)))

Python 中的上下文管理器

By | 12月 12, 2018

Python 的上下文管理器可以帮助我们控制和管理各种各样的系统资源(比如文件、锁和连接等),再加上 with 语法糖的使用,可以大大简化我们管理资源的代码成本,同时提高健壮性。
一些常用的场景如下:

with open('testfile', 'w') as f:
    f.write('hello')
import threading
lock = threading.Lock()
with lock:
    print('Lock')

with