加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python 模块

发布时间:2020-12-20 11:01:27 所属栏目:Python 来源:网络整理
导读:#模块 模块的分类 1. 安装包中自带的内置模块 2. 需要下载的第三方模块 3. 自定义模块 内存中,如果这个模块已经加载过了,就不会重复加载.系统内置名称空间(内置的模块)sys.path指定的路径 ? ? __name__属性 __name__是Python内置的一个属性,Python中的函数,

#模块


模块的分类

1. 安装包中自带的内置模块
2. 需要下载的第三方模块
3. 自定义模块

内存中,如果这个模块已经加载过了,就不会重复加载.
系统内置名称空间(内置的模块)
sys.path指定的路径 

?

?

__name__属性

__name__是Python内置的一个属性,Python中的函数,模块,类都有这个属性.

1. 模块直接以脚本方式执行的话,__name__ 属性值是固定的字符串: __main__ .
2. 如果模块是被其他模块导入的话,被导入模块的 __name__ 属性就是这个模块的真实名字.

通过__name__属性的值判断是否执行此测试函数:
if __name__ == __main__:
main()

?

解决名称冲突的方案有三种

  1. 改用 import ... 这种方式导入,后果是使用成员时都必须带上前缀.

  2. 在程序中命名不要和模块中的成员同名.

  3. 使用别名

别名(alias)的使用

import test_module as tm # 相当于定义一个tm变量,指向了被导入的模块对象
print(tm.a) # 使用模块的别名访问变量
tm.test() # 使用模块的别名调用方法
1 2 3

?

限制模块中被导入的成员

?

__all__属性中对成员的限制

在使用 from ... import * 这种方式导入一个模块时,默认情况下这个模块中的所有成员都会被导入.可以在被导入
的模块中使用 __all__ 这个属性控制某些成员可以不被其他模块导入.
# 在my_module.py中添加 __all__ 属性,它是一个由允许被导入的成员名组成的列表.
__all__ = [f1,f2]
def f1():
print(f1)
def f2():
print(f2)
1 2 3 4 5 6 7

?

?

相对导入

相对导入指的是在同一个路径(包)中的各个模块之间的相互导入时使用的一种方式. 和普通的导入方式不同的是,相对导入只有一种方式:

from 相对路径 import xxx
其中,常用的相对路径就是.和..

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读