造轮子杂记2
1.deque 是为了高效实现插入和删除操作的双向列表,适合用于队列和栈:
deque
除了实现list的append()
和pop()
外,还支持appendleft()
和popleft()
,这样就可以非常高效地往头部添加或删除元素。
2.函数调用的**表示将字典扩展为关键字参数
args={'a':1,'b':2} func(**args) 等价于函数调用 func(a=1,b=2)
3.
1
2
3
|
# Build paths inside the project like this: os.path.join(BASE_DIR, ...) import os BASE_DIR = os.path.dirname(os.path.dirname(__file__)) |
这里用到了python中一个神奇的变量 __file__ 这个变量可以获取到当前文件(包含这个代码的文件)的路径。os.path.dirname(__file__) 得到文件所在目录,再来一个os.path.dirname()就是目录的上一级,BASE_DIR 即为 项目 所在目录。我们在后面的与目录有关的变量都用它,这样使得移植性更强。