在使用可变对象作为参数的时候一定要非常注意,防止意外修改形参值,不要使用可变对象作为默认参数,会变成函数对象的属性,再修改的时候会出现意想不到的效果。
def不删除对象,而是删除对对象的引用
_变量是交互式解释器中最后一次执行语句的返回结果
弱引用不会增加引用计数,强引用会增加引用计数
1 | open("test.txt", "wt", encoding="utf-8").write('1, 2, 3') |
在CPython中,这样写是安全的。因为文件对象的引用数量会在write方法返回后归零,Python在销毁内存中表示文件的对象之前,会立即关闭文件。