python什么是入口文件_Python-组织结构-目录结构、包导入、__init__文件、模块内置变量、* 导入限制...

__pycache__ .pyc文件,中间代码,提升python运行效率

目录

分档和归类

Python项目组织结构

模块

函数、变量

# 层级依次往下都是一对多关系

Python项目目录结构

ProjectName          项目根目录

pkgName          项目包

...

main.py           项目入口目录文件

命名空间

1. 区分不同包下模块

2. 区分不同模块下类

3. 访问 pkgName.modulName modulName.ClassName, 通过 . 进行访问

区分包和普通文件夹

1. 文件夹下是否有 __init__.py 文件

2. 想导入__init__文件,则直接导入包名

__init__文件

1. 导入包、模块、类、函数、变量都会首先执行__init__内容

2. 做包和模块的初始化工作

3. 把模块公共导入代码和系统库内容放入 __init__文件

在__init__文件中, __name__是当前包名, __package__为当前包名

对 * 导入限制

1. 放在模块的头顶部,限定导入的类 __all__ = ["className", ...]

2. 放在 __init__文件中,限定导入的模块 __all__ = ["modulName", ...]

导入  import from .   分为导入本包和其他包

1. 导入其他包

import pkgName

2. 导入当前包下目录

from . import modulName

3. 导入其他包模块

from pkgName import modulName

4. 从当前包导入类

from .modulName import className

5. 从其他包导入类

from pkgName.modulName import className

6. 导入包是不重复,导入一个包Python会执行一次包中代码

7. 避免循环和环路导入

相对导入    包下文件可以通过相对路径导入, 依据包下模块中的__name__定位

绝对导入     从顶级包开始,一直通过 . 访问下去,必须知道顶级包位置

项目入口文件  main.py

1. 整个项目的起始执行文件,整个程序逻辑运行起始,只能通过绝对导入模块

2. 会强行把 main文件中的 __name__ 改为 "__main__", __package__ 置为 None, __main__模块是不存在的

把模块当作main文件运行    python -m pkgName.modulName

-m 参数后面接收模块的命令空间

获取模块内置变量     dir()

1. 当前模块命名空间    __name__

2. 当前模块所在包名   __package__

3. 获取模块注释      __doc__    注释写在模块头部,用于自动生成文档

4. 获取当前模块绝对路径  __file__

5. 系统自定义变量,和普通变量无区别,为了区分自定义变量和Python内置变量    __variable__

当前目录    .

上级目录    ..

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值