温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python的模块和包的导入方法

发布时间:2021-07-07 13:50:51 来源:亿速云 阅读:237 作者:chen 栏目:编程语言

这篇文章主要讲解了“python的模块和包的导入方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python的模块和包的导入方法”吧!

python 模块

1. 导入模块

  • 在Python中一个py文件就是一个模块,要想创建模块,实际上就是创建一个python文件

    注意:模块名要符号标识符的规范

  • 在一个模块中引入外部模块

    ① import 模块名 (模块名,就是python文件的名字,注意不要py)

    ② import 模块名 as 模块别名

  • 可以引入同一个模块多次,但是模块的实例只会创建一个

  • import可以在程序的任意位置调用,但是一般情况下,import语句都会统一写在程序的开头

  • 在每一个模块内部都有一个__ name __ 属性,通过这个属性可以获取到模块的名字

  • __ name __ 属性值为 __ main __ 的模块是主模块,一个程序中只会有一个主模块,主模块就是我们直接通过 python 执行的模块,执行哪一个文件,哪一个文件就是主模块。

import test_module as test 

print(test.__name__)
print(__name__)

2. 引入模块中的内容

# import m
# 访问模块中的变量:模块名.变量名

# 也可以只引入模块中的部分内容,这样就可以直接使用变量名,而不需要使用模块名来访问变量
# 语法 from 模块名 import 变量,变量....

# from m import * 
# 引入到模块中所有内容,一般不会使用

# 也可以为引入的变量使用别名,这样可以避免有多个模块有相同的变量名造成冲突。
# 语法:from 模块名 import 变量 as 别名

3. 模块私有变量

  • 使用下划线 _属性名,当通过 from m import * 引入所有变量时,不会将带有下划线的变量引入。

  • 注意的是,通过 import m 导入模块时,仍然可以通过 m._属性名 来访问

4. 导入模块跳过可执行代码

当引入其他模块时,其他模块里面可能会有一些可执行代码,这样在导入时会执行这些模块里的代码,我们想让这些代码只有在该模块作为主模块时才执行

# 在模块的可执行代码前面添加语句
# 编写测试代码,这部分代码,只要当当前文件作为主模块的时候才需要执行
# 而当模块被其他模块引入时,不需要执行的,此时我们就必须要检查当前模块是否是主模块 

if __name__ == '__main__':
    pass

5. package

  • 包也是一个模块,当我们模块中代码过多时,或者一个模块需要被分解为多个模块时,这时就需要使用到包

  • 普通的模块就是一个py文件,而包是一个文件夹 包中必须要一个一个 __ init __.py 这个文件,这个文件中可以包含有包中的主要内容

# 我们可以在包里面的__init__.py文件中定义变量或者函数,然后将包作为模块导入,这样就可以访问到这些变量
import package_name

# 包里面可以包含其他模块,使用模块里面的变量时,必须使用全路径名:package_name.module_name.属性名
import package_name.module_name
    
# 通过这种方式导入时,只需要写模块名就可以,不需要包名
from   package_name import module_name
  • __ pycache __ 是模块的缓存文件,在编译后会在包下面有一个缓存文件

    py代码在执行前,需要被解析器先转换为机器码,然后再执行,所以我们在使用模块(包)时,也需要将模块的代码先转换为机器码然后再交由计算机执行,而为了提高程序运行的性能,python会在编译过一次以后,将代码保存到一个缓存文件中,这样在下次加载这个模块(包)时,就可以不再重新编译而是直接加载缓存中编译好的代码即可

sys标准库

import sys
import pprint

# 获取执行代码时,命令行中所包含的参数,该属性是一个列表,列表中保存了当前命令的所有参数
sys.argv
print(sys.argv)

# 获取当前程序中引入的所有模块,modules是一个字典,字典的key是模块的名字,字典的value是模块对象
sys.modules

#pprint 模块它给我们提供了一个方法 pprint() 该方法可以用来对打印的数据做简单的格式化
pprint.pprint(sys.modules)

#他是一个列表,列表中保存的是模块的搜索路径
sys.path

# 函数用来退出程序
sys.exit()
sys.exit('程序出现异常,结束!')

导入指定目录下模块

from  sys  import path

# 导入sys模块下的path变量,这是一个list,添加模块的搜索路径
path.append(r"E:\\")

导入模块中的变量
from  test0  import   k
 
print(k)

感谢各位的阅读,以上就是“python的模块和包的导入方法”的内容了,经过本文的学习后,相信大家对python的模块和包的导入方法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI