1. 告诉解释器去哪里找模块:
import sys
sys.path.append('C:/python')
相对路径转绝对路径sys.path.expandUser('~/python')
__pycache__子目录存放处理后的文件,导入模块后产生,模块没变化时直接导入处理后的模块,不需要重新生成。
“只导入一次”:防止互相导入时出现闭环
__name__在主程序中为__main__, if __name__ == "__main__":
要打印的数据结构大,可使用pprint分行打印
sys.path查看原目录,模块放在这里
或者修改环境变量PYTHONPATH:export PYTHONPATH = $PYTHONPATH:~/python
包目录:package 将模块放在包目录,目录下必须包含__init__.py的文件 直接import包,就包括了目录下面的所有模块
查看模块信息:
dir(copy):查看copy的所有属性
copy.__all__:copy的部分属性,from copy import *时能import的进的东西 包含于dir(copy)
help(copy.copy) = copy.copy.__doc__
copy.__file__ copy的源代码路径
2. 标准库
sys:argv, exit, modules, path, platform, stdin, stdout, stderr
os: path.split , path.join. sep(分隔符),
集合:
set 不能使用{}单独创建集合,(字典dict)需要set(list)
并集: a.union(B) or a|b
其他:a.issubset(b) a.issuperset(b), a.intersection(b), a.difference(b), a-b, a.symmetric_difference(b), a^b
集合的内容是不可变的,集合是可变的,所以集合的集合,子集合要用frozenset
堆:heap 随时弹出最小的元素,任一顺序添加对象,