zoukankan      html  css  js  c++  java
  • 模块

    模块

    模块的定义:模块就是一个 py 文件。

    模块主要分为三类:

    1. 内置模块,也称 Python 标准库,是 Python 官方已经封装在 Python 解释器中了,大约有 200 多个;
    2. 第三方模块,是一些组织或个人写好的 py 文件,供我们使用;
    3. 自定义模块,也就是我们自己写的 py 文件。

    为什么要学习模块:

    1. 开发效率高;
    2. 拿来主义:同内置函数一样,我们只需要把模块拿来用就好,不必深究它的原理;
    3. 减少重复代码:分文件管理,有助于修改和维护。

    怎么使用模块:

    import 导入 将模块中所有内容导入
    import lib
    lib.a # import使用功能需要.操作
    
    from 模块名 import 功能
    from 同一个模块 import a,b,c
    from lib import a as aa
    

    导入时发生的事情

    1. 将模块存储到当前名称空间中;
    2. 以模块的名字命名,并开辟空间;
    3. 通过模块名来使用模块中的功能。

    同一个模块即便写多次导入, 也只执行一次。

    导入顺序:
    内存 --> 内置 --> sys.path 列表

    模块的两种用法:

    1. 当做普通模块执行
    2. 被当做脚本执行
    if __name__ == "__main__":
        pass
    

    在当前文件中执行,__name__ 获取的值是 '__main__'
    当前文件被当做模块导入时,__name__ 获取的是当前文件名。

    以后要避免(不能这么写)的问题:

    • 循环导入(了解)

    import 和 from 的对比:

    • import 全部导入
    • from 指定功能导入
    • import 和 from 都可以支持 as
    • from 会将之前定义同名的覆盖
    • from 可以一行导入多个功能
    • from lib import * 将lib下所有的功能全部导入
    • import 建议一行导入一个模块
    • 推荐是使用 from

    模块导入的顺序:

    • 内存,内置,sys.path
    sys.path  # *****
    sys.path.append() # 添加一个模块查找路径
    __all__=['name','read1'] # 控制form import *
    
  • 相关阅读:
    Vue基础
    ES6之promise
    第13次作业--邮箱的正则表达式
    第12次作业--你的生日
    第11次作业--字符串处理
    第10次作业
    Java找回感觉的练习
    第四次博客作业-结对项目
    第9次作业--接口及接口回调
    深入面向对象——继承
  • 原文地址:https://www.cnblogs.com/shuoliuchina/p/12430601.html
Copyright © 2011-2022 走看看