1. package.module

  • 一个模块就是一个包含pytho代码的文件, 后缀名成是.py就可以,模块就是个python文件  
  • 使用模块进行拆分程序,方便维护;增加复用率;当做命名空间使用,避免命名冲突  
  • 模块的定义和普通文件无很大区别  
  • 导入  
  • 假如模块名称直接以数字开头,需要借助importlib帮助:a = importlib("123.say()")  
  • import module_name ///module_name.function_name ///module_name.class_name  
  • import 模块 as 别名 用法和直接用类似  
  • 有选择的导入  
  • from module_name import func_name, class_name
  • 此方法使用的时候可以直接使用导入的内容,不需要前缀
  • from ... import *
    • 此方法导入也会导入自动处理的语句:如print("hello")
    • 使用 if _name_ == "_main_" 可以忽略不想要的输入

2 . 模块的搜索路径和存储

  • sys.path (列表)属性可以获取路径列表

  • 添加搜索路径: sys.path.append(dir)

  • 模块的加载顺序

    1.搜索内存中已经加载好的模块 2.搜索python的内置模块 3.搜索sys.path路径

3 包

  • 用于将模块包含在一起的文件夹就是包 |---包 |---|--- init.py 包的标志文件 |---|--- 模块1 |---|--- 模块2 |---|--- 子包(子文件夹) |---|---|--- init.py 包的标志文件 |---|---|--- 子包模块1 |---|---|--- 子包模块2

  • 导入

    • import package_name
      • 直接导入一个包,默认使用_init_.py中的内容  
    • from ... import 导入
      • from package import module1, module2, module3, .....
      • 此种导入方法不执行__init__的内容