补充jupyter代码和终端操作代码.png补充
模块预编译
-
当import时, python会试图去编译出pyc文件来。
-
pyc是被编译过的py文件,加载pyc文件可以跳过语法解析过程
-
当py日期新于pyc时, 重新生成pyc。所以日期紊乱可能导致执行老代码。
-
在Python3(3.2以后)中,会在当前目录下生成pycache目录,来缓存pyc文件。
-
这样可以避免多个Python解释器无法互相载入对方的pyc文件。
-
纪律1: 大版本不交叉使用
-
作为脚本运行时,不会生成pyc文件, 因为没有import
_name属性 模块有一个属性, _name.当这个属性为'_mian__'时, 说明当前模块被作为脚本运行。模块被作为以脚本运行时, 不生成pyc文件(因为不是import)
_name_ == '_main_'是Python的main函数入口。并非说,加入这句才能使用python xxx.py来执行,而是说,这里可以判断,当前是否是直接被python直接调用执行。
main 文件模式写法
- 第一行:作为脚本需要的
- 第二行: 当有中文时需要的
- 第三行: docstring
下图为开源py文件
iShot2020-03-13下午02.25.06.pngpackage
- 从组织结构上说, package是比modules更大一级的结构。 一个package里可以包含多个modules和packages。 一般一个package是一个独立目录, 里面有init.py 文件 这个文件指明了如何加载整个package。
- package是基于module的
- 对于Python package 文件夹而言,与Dictionary不同之处在于其会自动创建_ _ init _ .py文件。 简单的说,python package就是一个目录,其中包括一组模块和一个 _ init__.py文件。
下图为某开源python项目目录
可通过目录理解package.png
网友评论