zoukankan      html  css  js  c++  java
  • 【python基础】模块&包

    一、模块

      1、所谓模块, 就是指封装好一定功能的.py文件。如果想要使用某个模块,直接导入就行了。
      2、random.py 模块名就是文件名(不包含后缀)
      3、模块名的命名规则,遵循标识符的命名规则。变量,函数名,类名,模块名

    二、模块的作用

      1、程序开发文件比较大,都放在同一个文件中,管理维护非常不方便。拆成多个模块进行管理,方便维护。

      2、模块可以增加程序的复用率。

    三、模块的分类

      1、程序员封装
      2、python自带的模块; random, time, datetime, sys, os....
      3、 第三方的模块。别人写的,功能很强大,我们在程序开发的过程中,可以直接使用的
        自己安装到python解释器中才能够使用, cmd --> pip install 模块

    四、模块的导入

      1、import 模块名
      2、import 模块名 as 别名 [注意]: 导入时起了别名, 就不能再使用模块原本的名字
      3、import 模块名1, 模块名2, .... 一次性打入多个模块(不建议使用)
      4、from 模块 import ... 从模块中导入变量, 函数, 类,...
      5、from 模块 import ... as 别名 [注意]: 导入时起了别名, 就不能再使用原本的名字
      6、from 模块 import 对象1, 对象2, 对象3, .... 一次性导入同一个模块中的多个变量, 类, 函数,...
      7、from 模块 import * 将模块中的所有 变量, 类, 函数, 全部导入到当前模块中(不建议使用)

      导入模块会将被导入的模块执行一遍

    五、__name__ 

      1、如果执行的是当前.py文件, 该模块的__name__ = __main__
      2、如果当前文件作为导入模块被执行的, 该导入模块的__name__ = 模块名

      自定义的模块名不要与python自带模块名重名,否则导入的会是当前你自定义的模块

    六、pyc临时文件(针对自定义的模块而言)

      1、为了提高加载模块的速度,python解释器会在__pycache__目录下缓存被导入模块编译后的pyc文件,之后再次被导入时,实际上导入的就是这个pyc的临时文件
      2、python解释器会智能的认为,只有被import进来的文件才是需要被重用的文件,所以只给被导入的文件生成临时pyc文件

    七、__all__

      通过 from 模块 import * 导入模块中的内容时, 可以通过__all__属性设置导入的内容
      __all__属性为一个列表, 列表中的元素为字符串元素

    八、包

      1、特点

        python包文件中必须有一个__init__.py文件

        一个文件夹,在这个文件夹中可能存在多个.py文件
        一个包里可以有很多模块

      2、导入包中的模块(如果包在当前路径下)
        1. import 包名.模块名    
          [使用]: 包名.模块名.函数名()

        2. from 包名 import 模块名
          from 包名.模块名 import 函数名

      3. from 包名 import *
        前提: __init__.py 需要在该文件给__all__属性赋值, 赋值内容为允许导入的模块
            __all__的类型为列表, 列表中的元素为字符串元素
               __all__ = ["模块名", "demo2", "test_demo"]

  • 相关阅读:
    Vue --》this.$set()的神奇用法
    vue --》路由query 编程式导航传值与监听
    elementUI -->实现简单的购物车
    vue--》如何使用wacth监听对象的属性变化?
    laravel redis 删除指定前缀的 key
    php in_array 的一个坑
    laravel/lumen Command 的构造函数需要注意的地方
    git 合并连续的几个 commits
    盘点 php 里面那些冷门又实用的小技巧
    mockery expectation 覆盖
  • 原文地址:https://www.cnblogs.com/Tree0108/p/12110205.html
Copyright © 2011-2022 走看看