• python模块介绍和 import本质


    模块的定义:

    用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质上就是.py结尾的python文件。

    包的定义:

    用来从逻辑上组织模块的,本质上就是一个目录。(必须有一个__init__.py文件)

    导入模块方法:

    1、创建模块

    比如创建一个 module_name.py ,里面可以定义函数和变量。

    2、导入模块

    导入一个:

    import module_name

    导入多个:

    import module_name,import module_name1

    导入一个模块所有的方法或变量:

    from module_name import *

    from module_name import 方法名 [ as 别名]

    from module_name import 方法名1 [ as 别名1],方法名2 [ as 别名2].。。。

    from..import.. 这种方法比 直接import 模块 要执行的快,因为不需要点语法调用方法,所以也不需要每次调用每次都去找那个模块文件。

    3、使用模块的变量或方法

    1、直接 import module_name 导入进来的

    module_name.变量名 或 module_name.方法名 。这种相当于把 module_name.py中的代码解释一遍统一赋值给一个变量。

    2、from module_name import 方法名 [ as 别名] 这种方法导入进来的

    可以直接使用。变量名、方法名、  别名。这个相当于把代码复制一份到新文件里面。所以不需要点语法调用。

    导入包方法:

    import package_name 

    导入这个包实际上在执行包里面的__init__.py文件

    import本质(路径搜索)

    模块导入:

    import module_name -->找到module_name.py文件 --->找到module_name.py的路径 --->sys.path中(第一个空的是当前目录)依次寻找。

    如果sys.path中没有要找的路径,意思是要导入的模块文件不再同一个目录,需要通过sys和os模块把要导入的模块的路径加入到sys.path中

    1、通过os.path.abspath(__file__) 获取当前文件路径。

    2、通过os.path.dirname(os.path.abspath(__file__)) 找到上级路径。直到找到模块所在的路径下。

    3、追加到sys.path路径下 sys.path.append(要添加的路径)。

    包导入:

    1、首先导入一个包 也是import ,那么实际执行的动作是执行包里的__init__.py这个文件。

    2、包里面肯定定义了很多模块,不然只执行这个文件没有意义。这个文件的作用就是把模块的导入写到这个文件里面。from . import module_name 导入当前路径下的哪个模块。

    3、调用某个包下的某个模块下的某个方法:package_name.module_name.方法

    4、如果包的目录和程序的目录不一致,可以先加载包的最外层目录到sys.path,然后 from dir_name import package_name

  • 相关阅读:
    学到了林海峰,武沛齐讲的Day20 装饰器
    学到了林海峰,武沛齐讲的Day19 迭代细讲
    学到了林海峰,武沛齐讲的Day18 迭代
    学到了林海峰,武沛齐讲的Day18-4 文件操作
    hdu1106 java字符串分割
    hdu1282 回文数猜想
    hud1047 java大数忽略空格
    hdu1018 阶乘位数的数学原理
    hdu1715 java解大菲波数
    hdu1316 java解高精度斐波数
  • 原文地址:https://www.cnblogs.com/qing-chen/p/7274155.html
Copyright © 2020-2023  润新知