python定义模块结束语_python11_模块与包

init.py模块(在python2中这个是必须的,在python3中是可选的)

模块的导入

直接导入:import 模块

从模块里导入函数/从包导入模块:from xxx import xxx

导入所有函数:from xxx imoprt * (不推荐)

使用名字动态导入:mod = input("请输入你想要的模块:")

imoprt importlib

变量名(自定义,可以是模块名,包名) = imoprtlib.import_module(mod)

mod是一个字符串(例如mod可以是‘math‘或‘math.sqrt‘直接导入模块的用法)

1.当同一个模块重复导入时,只执行第一次

2.当导入两个同名的模块时,两个都会执行,当前生效的是后一个(若两个都要使用,建议用as取别名)

20200707114123121416.png

相对导入:使用 . 或 .. 来进行导入

相对导入只能导入包中的模块/子包,同一级目录里的不行

对于当前被执行文件来说:当前执行文件所在目录不是一个包,子目录及更深的目录都是包

20200707114123367494.png

上图中top_levell是main文件,只能在main的同级或子目录下导入,若top level是tr文件,则不能往bao1以外的那些文件导入(运行哪个文件,该文件就是top level)

python下划线:

标识符是用来标识某种对象的名称。以下划线开头的标识符是有特殊意义的。

下划线的特殊含义(模块):

1.以单下划线开头

表示保护对象,不能用 from xxx import 导入包/模块

2.以 双下划线开头

表示私有对象,不能用 from xxx import 导入包/模块

3.以双下划线开头和结尾的

代表Python中特殊方法专用的标识,不建议使用

内置属性:

1)name

当自己执行时,等于name的值为main

当被作为模块导入,等于文件名(不包含后缀, 可含模块名)

2)import

导入模块

3)file

打印模块路径

python模块导入执行的过程:

1.通过sys.path环境变量找到模块文件

2.编译成字节码文件(pyc文件)

3.如果字节码过期了会自动重新生成

4.如果字节码文件已存在则直接导入字节码文件

5.执行模块中的代码来创建所定义的对象

PS:1.对于pyhton模块命名空间作用域, 一定要注意成员变量的范围

2.对于name属性的使用, 防止代码大量加载运行

3.对于模块的导入的几种方式要灵活去运用

4.Python模块的打包

5.软件目录结构

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值