python18-模块和包

作者: 筱媛媛 | 来源:发表于2019-05-21 21:04 被阅读0次

    本篇主要是讲的是模块和包基本操作,包括模块在同一包内/不同包内的导入调用等。在学习python的过程中模块是必不可少的,尤其是第三方库的操作。希望感兴趣的小伙伴可以坚持看下去同时欢迎提出宝贵的意见让我们一起进步!

    #01:模块(module)

    1)定义:在python中一个.py文件就称之为一个模块

    2)引入:代码量大不方便查阅;后续修改不方便难维护;定义很多变量名费时

    3)作用:

    ①模块可以有逻辑地组织你的Python代码段。

    ②模块以库的形式封装功能,方便给别的代码调用。

    ③模块能定义函数,类和变量,模块里也能包含可执行的代码。

    ④模块能避免变量名/函数名冲突,便于后期的维护。

    4)包括:内置模块、自定义模块、第三方模块

    5)注意:不同模块可以定义相同的变量名;每个模块中的变量名作用域只在本模块中

    #02:包(package)

    1)包是作为目录存在的,是一个按照功能不同进行分层次的文件目录结构。它定义了一个由模块及子包,和子包下的子包等组成的 Python 的应用环境。

    2)通俗的说包就是文件夹,但该文件夹下必须存在 __init__.py 文件, 该文件的内容可以为空__int__.py用于标识当前文件夹是一个包

    3)__int__.py模块初始化模块,只要你调用这个包 , 那么这个包的__int__.py就会被执行

    #03:import语句

    1)概述:模块定义好后,我们可以使用 import 语句来引入模块。

    2)同一包内模块:

    ①导入格式:import 模块名

    ②调用格式:模块名.函数()

    3)不同包内模块:

    ①导入格式:import 包1.包2.模块名

    ②调用格式:包1.包2.模块名.函数()

    4)起别名as:

    ①导入格式:import 包1.包2.模块名 as 别名

    ②调用格式:别名.函数()

    ③别名目的:防止相同的包名;模块名太长

    5)注意事项:

    import使用函数调用时,模块名有多长写多长,除非写别名

    ②可以调用模块所有的函数/变量,除了私有的模块不可以调用

    导入多个模块用逗号隔开

    ④“import 模块”相当于执行了一遍导入的模块

    一个模块只会被导入一次,不管你执行了多少次import。这样可以防止导入模块被一遍又一遍地执行。

    #04:from xxx import xxx语句

    1)概念:从模块中导入一个指定的部分到当前空间

    2)同一个包内模块:

    ①导入格式:from 模块名 import 函数

    ②调用格式:函数()

    3)不同包内模块:

    ①导入格式:from 包1.包2.模块名 import 函数

    ②调用格式:函数()

    4)起别名as:

    ①导入格式:from 包1.包2.模块名 import 函数 as 别名

    ②调用格式:函数()

    5)好处:可以减少输入字符的长度 ; 避免导入对象的冲突,出现覆盖的情况

    6)注意事项: 

    ①from import用法函数导入有一个如果还有需求则重新导入

    ②如果导入2个相同的函数,调用时使用第二个被导入的函数,第一个会被覆盖

    #05:from xxx import *语句

    1)概述:把一个模块的所有内容全都导入到当前空间

    2)不太建议被过多地使用

    同一包内导入和调用 不同包内导入和调用

    #06:查看当前模块名

    1)当前模块运行的值为:__main__(主模块)

    2)导入其他模块运行的值为:导入的模块名

    #07:标准库

    1)概述:python安装包里面提供的功能模块和包

    内置类型和内置函数不需要导入,可直接使用。如:len、open

    内置模块需要导入。如:time"print(time.strftime('%Y-%m-%d %H:%M:%S'))"

    #08:模块搜索规则

    1)概述:通过sys.path寻找。靠python解释器中模块/包路径寻找

    sys.path的搜索路径

    #09:自定义的模块不在python解释器的当前工作目录,如何导入模块/包?

    1)append:增加临时路径

    增加临时路径操作实例

    相关文章

      网友评论

        本文标题:python18-模块和包

        本文链接:https://www.haomeiwen.com/subject/sdlgaqtx.html