Life saver: as you're writing your notebooks, incrementally refactor your code into functions, writing some minimal assert tests and docstrings.
之后,从笔记本到脚本的重构是很自然的。不仅如此,当你写长笔记本的时候,即使你不打算把它们变成其他东西,它也会让你的生活更轻松。
包含“最小”测试和文档字符串的单元格内容的基本示例:def zip_count(f):
"""Given zip filename, returns number of files inside.
str -> int"""
from contextlib import closing
with closing(zipfile.ZipFile(f)) as archive:
num_files = len(archive.infolist())
return num_files
zip_filename = 'data/myfile.zip'
# Make sure `myfile` always has three files
assert zip_count(zip_filename) == 3
# And total zip size is under 2 MB
assert os.path.getsize(zip_filename) / 1024**2 < 2
print(zip_count(zip_filename))
一旦您将其导出到空的.py文件中,您的代码可能还没有被构造成类。但值得努力的是&#