造轮子杂记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 即为 项目 所在目录。我们在后面的与目录有关的变量都用它,这样使得移植性更强。

posted @ 2017-03-02 17:44  xnchall  阅读(119)  评论(0编辑  收藏  举报