python模块和包的区别与联系及使用方法

区别与联系

  • 模块可以理解后缀名为.py的python的文件(即我们日常保存的所有python文件都可以视作模块)。
  • 模块是包的子文件,可以认为包是文件夹,模块是文件。
  • 但独特之处在于包是在创建时自动添加一个名为__init__.py的文件(即模块)
    如图所示:

使用方法

模块的使用方法

  • 语法:
    import module_name
    module_name.function_name
    module_name.class_name
  • import 模块 as 别名
    • 导入的同时给模块起一个别名
    • 其余用法跟第一种相同
  • from module_name import func_name, class_name
    • 按上述方法有选择性的导入
    • 使用的时候可以直接使用导入的内容,不需要前缀
  • from module_name import *
    • 导入模块所有内容

包的使用方法

  • import package_name

    • 直接导入一个包,可以使用__init__.py中的内容(后续说明)

    • 使用方式是:

        package_name.func_name
        package_name.class_name.func_name()
      
  • import package_name as p

    • 具体用法跟作用方式,跟上述简单导入一致
    • 注意的是此种方法是默认对__init__.py内容的导入(后续说明)
  • import package.module

    • 导入包中某一个具体的模块,

    • 使用方法

        package.module.func_name
        package.module.class.fun()
        package.module.class.var
      
  • import package.module as pm

  • from … import 导入

    • from package import module1, module2, module3, …

    • 此种导入方法不执行__init__的内容

        from pkg01 import p01
        p01.sayHello()
      
  • from package import *
    - 导入当前包 __init__.py文件中所有的函数和类
    - 使用方法

    func_name()
    class_name.func_name()
    class_name.var
    
  • from package.module import *

    • 导入包中指定的模块的所有内容

    • 使用方法

        func_name()
        class_name.func_name()  
      

注意事项

init.py

  • 当包被创建时自带添加
  • 包被全部调用时会运行

参考文献

大拿出品,必属精品。

你可能感兴趣的:(python模块和包的区别与联系及使用方法)