5 模块预编辑、Main文件模式写法

补充

补充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.png

package

  • 从组织结构上说, package是比modules更大一级的结构。 一个package里可以包含多个modules和packages。 一般一个package是一个独立目录, 里面有init.py 文件 这个文件指明了如何加载整个package。
  • package是基于module的
  • 对于Python package 文件夹而言,与Dictionary不同之处在于其会自动创建_ _ init _ .py文件。 简单的说,python package就是一个目录,其中包括一组模块和一个 _ init__.py文件。

下图为某开源python项目目录

可通过目录理解package.png

你可能感兴趣的:(5 模块预编辑、Main文件模式写法)