zoukankan      html  css  js  c++  java
  • 2018.10.11python学习第十七天

    模块

    1.模块是什么? 模块:一组功能的集合

    功能:在python中,一个功能就是一个函数;一个py文件就是一个模块

    2.为什么要用模块?

    借鉴思想:可以极大的提升开发效率

    自定义模块:抽取我们自己程序中要用的功能,定义成模块,然后程序的各部分都去模块中调

    用,可以较少代码冗余。

    3.如何使用模块?

    大前提:注意区分 执行文件 vs 被导入文件

    模块类型的分类:

    1.自定义模块(第三方模块也属于自定义模块)

    2.内置模块 (c语言编写,连接到python解释器中,如time模块)

    3.已经编译为DLL c or c++

    4.包(包含一堆模块的文件夹)

    如何自定义模块?

    创建一个py文件,把功能写到该文件中

    如何使用模块?

    import:关键字,用于导入模块到当前文件中

    如spam.py,模块名则是spam,在执行文件中写import spam就调用了该模块

    当执行import时,会发生:

    1.创建一个模块的namespace

    2.执行被导入的文件spam.py,将模块中的name和地址的关系,都存储到模块的

    namespace中。

    3.在执行文件中,创建一个name,该name指向的地址就是第一步创建的namespace,执

    行文件和被导入的模块namespace 是相互独立的。

    import 的其他写法:

    1.import xxx as xxx

    # 给模块取别名,可以用别名直接调用

    2.import xxx,xxx

    # 一次导入多个模块

    3.from xxx import xxx

    # 从模块中导入名字到当前执行文件的namespace中

    # 如果name冲突了,则按就近原则取值

    4.from xxx import xxx,xxx

    # 从模块中导入多个名字

    5.from xxx import * #从模块中导入所有的name

    6.from xxx import xx as xx

    #取别名

    #from和import出来导入的名称不同 其他性质一致

    py文件的两种执行方式: 1.作为执行文件

    2.作文模块被导入

    如何判断py文件当前执行状态:

    __name__这个名称可以获取当前执行状态
    如果是__main__则是当前的执行文件,否则是作为模块被导入
    if__name__ =='__main__':
    print('作为执行文件')
    else:
    print('作为模块导入')

    重复导入模块时,模块中的代码不会重复执行,仅在第一次导入时执行

    模块的搜索顺序: 内存中已经加载的----->内置模块------->sys.path

    查看内存中已经加载的模块

    import sys
    print(sys.modules)
    for i in sys.modules
    print(i)

    查看sys.path (环境变量)

    import sys
    print(sys.path)
    # 手动添加一个路径到环境变量中
    sys.path.append(r'文件的地址’)
    print(sys.path)

     

  • 相关阅读:
    单例设计模式
    HashMap 排序
    代理、动态代理
    冒泡排序 、二分查找、快速排序
    Azure powershell 订阅登录管理
    cmdbuild -2.4.3 在Centos7部署
    Zabbix3.0 安装部署
    nginx 一键安装
    通过菜单一键安装mysql
    Rsync同步工具
  • 原文地址:https://www.cnblogs.com/hello-yuanjing/p/9772985.html
Copyright © 2011-2022 走看看