zoukankan      html  css  js  c++  java
  • 模块

    1.模块是什么:   *****

      模块是一组功能的集合

      python中一个功能就是一个函数

      一个py文件就是一个模块

    例如:   A.py    文件名A.py    模块名  A

    模块的分类:

      1.自定义模块 *****

        (第三方模块也属于自定义  他是别的程序员写的)

          关注如何自定义

      2.内置函数  ****

        是C语言写的  然后连接到朋友python解释器中

        例如 :  time模块

          关注如何使用

      3.已经编译为DLL    C 或c++   ***

        不需要知道是怎么来的  会用就行

      4  包    *****

        包实际上是包含一堆模块的文件夹

         

    对于以上四种模块 ,他们的使用方式  是一致的

    如何定义模块:  *****

      创建一个py文件  把你的功能写到文件中去

    如何使用模块:***** 

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

        例如:  import  time

    当执行import 做了什么?  ****

      1.创建了一个命名空间

      2.执行被导入的py中的代码  将里面的名字和对应关系 储存到命名空间中

      3.在执行文件中 创建一个名字 改名字指向的地址就是 第一步创建的命名空间(模块的命名空间)

      

    执行文件和被导入的模块的命名空间 是相互独立的 ****

      在被导入模块中 所有的名字使用的都是自己空间中的  和调用者无关

    import  的其他写法  *****

      1.import  xxx  as  xxx

        给模块取别名   用于简化书写

      2.import  xxx,xxxxx

        一次导入多个模块

      3. from xxx  import xxx

        从模块中导入某个名字到当前名称空间

        注意  要避免名称冲突

        如果冲突了  按照就近查找原则

      4.from xxx import xxx,xxx,xxxx

        从模块中导入多个名称

      5.from xxx import *

        从模块中导入所有名称

        __all__用于控制 使用者可以使用那些名称

      6.from xxx import xx as xx

        取别名

      from 和import 除了导入的名称 不同 其他特性一致

    py文件的两种执行方式 *****

      1.作为执行文件   (右键run)

      2.作为模块被导入

      __name__这个名称 可以获取当前执行状态

      如果是__main__说明是当前执行文件

      否者 说明是作为模块

      于是乎有了以下代码

        if__name__=="__main__" :

          print ("作为执行文件")

        else:

          print("作为模块导入了")

          

  • 相关阅读:
    Javascript快速入门(上篇)
    Linux快速入门01-基础概念
    正则表达式快速入门
    Sublime快速入门
    centos 6.5 git 服务器的配置(入门级)
    centos6.5 网卡的处理
    centos 6.5 u盘 安装问题 :vesamenu.c32: Not a COM32R image
    ubuntu 14.04 对exfat的支持
    [转]ubuntu 14.04 如何开启和关闭触控板
    ubuntu 下mongodb安装
  • 原文地址:https://www.cnblogs.com/frank007/p/9772995.html
Copyright © 2011-2022 走看看