• python回顾(十四)——模块与包


    模块概念

      模块指包含了python程序的源文件,每一个独立的.py文件具有特定的功能,其功能可以被其他python程序使用,该文件就构成了一个模块

      模块的名称必须满足标识符命名规则

    模块中的资源

      模块中以下资源可以被外界使用:

        类(定义)

        函数

        变量(全局)

     

    模块资源导入

      格式一(全部导入):

      导入格式:

        import 模块名

      模块资源使用格式:

        模块名.类名

        模块名.函数名

        模块名.变量名

      格式二(局部导入):

      导入格式:

        from 模块名称 import 资源名称

        from 模块名称 import 资源名称1资源名称2

        from 模块名称 import *

      模块资源使用格式:

        类名

        函数名

        变量名

    注意:如果多次导入模块中具有同名的资源,后导入的模块资源覆盖先导入的模块资源

     

    局部导入资源访问控制

      如果使用格式二中的全部资源导入方式

        from 模块名称 import *

        可以在模块文件中第一行设置资源访问控制

        __all__ = ["资源名称1","资源名称2"]

         

      说明:__all__列表中出现名称的资源可以被其他文件中使用

    模块文件的执行代码处理

      导入模块的同时会将原模块对应的.py文件进行执行,包括书写的运行代码,通过下列方式屏蔽原始模块中的运行代码:

      if __name__ == "__main__":

        执行代码

     

     

    模块资源运行工作原理

      模块资源导入时,解释器第一次读取原始资源文件,并生成缓存文件。 再次使用时直接使用缓存文件,加速程序执行

       

    包的概念

      包就是项目结构中的文件夹/目录

    包的作用

      包用于将不同的模块进行分类管理,包本身不具有具体的含义, 仅用于文件分层管理

      注意事项:放入包中的模块使用时需要在模块名前面添加包名,中间使用.分隔

  • 相关阅读:
    Spring IOC实现原理,源码深度剖析!
    MYSQL配置参数优化详解
    MYSQL 索引优化全攻略
    MySQL性能优化实战
    最强MySQL MVCC实现原理
    redis集群代建
    redis分布式锁
    mysql 的语句的执行顺序
    Rockey pushConsumer 和 pullConsumer 的区别
    RockeyMQ消息处理
  • 原文地址:https://www.cnblogs.com/sickle/p/10123572.html
Copyright © 2020-2023  润新知