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("作为模块导入了")

          

  • 相关阅读:
    试说明一级文件索引结构、二级文件索引结构是如何构造的。
    文件物理结构的比较
    文件的物理结构
    什么是索引文件,要随机存取某一记录时需经过几步操作?
    对文件的存取有哪两种基本方式,各有什么特点?
    文件的逻辑结构有哪两种形式?
    文件组织的两种结构
    WebService或HTTP服务端接收请求转发消息到另一个服务端-实现思路
    Eclipse报Caused by: java.lang.OutOfMemoryError: PermGen space解决思路
    树莓派2操作记录(有记录才能沉淀...)
  • 原文地址:https://www.cnblogs.com/frank007/p/9772995.html
Copyright © 2011-2022 走看看