zoukankan      html  css  js  c++  java
  • 模块概念

    1、模块是python程序架构的一个核心概念

    2、每一个以扩展名py结尾的python源代码文件都是一个模块

    3、模块名同样也是一个标识符,需要符合标识符的命名规则:①字母、下划线、数字组成 ②不能数字开头 ③不能与关键字重名

    4、在模块中定义的全局变量、函数、类都是提供给外界直接使用的工具

    5、开发原则:每一个模块都应该是可以被导入的

    1.1 模块导入的方式

          模块导入应该统一写在代码的顶部,更容易及时发现冲突,顺序:内置模块,扩展模块,自定义模块 

          如果两个模块,存在同名的函数,那么后导入模块的函数,会覆盖掉先导入的函数

          一旦发现冲突,可以使用as关键字给其中一个工具起一个别名

    1) import 模块名:一次性把模块中所有工具全部导入

        import 模块名1,模块名2   -----   不推荐使用,不符合EP8  python编码规范要求

                         -----   在导入模块时,每个导入应该独占一行

          使用as指定模块的别名:import 模块名 as 模块别名

          模块别名应该符合大驼峰命名法

          可以提高代码的兼容性

    2) from 模块名 import 某一个工具        --- 从某一个模块中,导入部分工具

          导入之后不需要通过 模块名. ,可以直接使用模块提供的工具  

       from 模块名 import * 可以从模块导入所有工具,并且导入后可以直接使用工具。

       但是不推荐使用,因为函数重名并没有任何的提示,出现问题不好排查。

       与all方法搭配使用,通过__all__=【“变量名1”,“变量名2”】可以只导入all列表中的变量

    1.2 模块的搜索顺序

       python解释器在导入模块时,会搜索当前目录指定模块名的文件,如果有就直接导入。如果没有,再搜索系统目录。

          文件的起名,不要和系统的模块文件重名

          python中每一个模块都有一个内置属性__file__可以查看模块的完整路径

    1.3 __name__属性

          __name__属性可以做到,测试模块的代码只在测试情况下在模块内被运行,而在被导入时不会被执行

          __name__属性是python的一个内置属性,记录着一个字符串

          如果是被其他文件导入的,__name__就是模块名,如果是当前执行的程序,__name__是__main__

           # 在代码的最下方

           def  main():

           pass         

            if  __name__  ==  “__main__”:  # 根据__name__判断是否执行下方代码

              main()

     1.4 pyc文件(compiled编译)

      python在解释源程序时,首先处理源代码,编译生成一个二进制字节码,再对字节码进行处理,才会生成CPU能够识别的机器码

      pyc文件是由python解释器将 模块的源码 转换为 字节码 ,python这样保存字节码是作为一种启动速度的优化

      有了模块的字节码文件后,下一次运行程序时,如果在上次保存字节码之后没有修改过源代码,python将会加载.pyc文件并跳过编译这个步骤

      当python重编译时,它会自动检查源文件和字节码文件的时间戳,如果你又修改了源代码,下次程序运行时,字节码将自动重新创建

  • 相关阅读:
    C# HTTP系列9 GET与POST示例
    [译]Android Studio 3.6 新特性概览
    mysql error 1290 hy000:The MySQL server is running with the --skip-grant-tables option so it cannot execute this statemen' 解决方案
    mysql error 1130 hy000:Host 'localhost' is not allowed to connect to this mysql server 解决方案
    Windows+Apache2.4.10+PHP7.0+MySQL5.6.21安装
    php版本的选择
    PHP,Mysql根据经纬度计算距离并排序
    windows无法启动MySQL服务 错误1067
    PHP MYSQL 搜索周边坐标,并计算两个点之间的距离
    html5获取用户当前的地理位置,即经纬度。
  • 原文地址:https://www.cnblogs.com/fyq-ss/p/11502367.html
Copyright © 2011-2022 走看看