zoukankan      html  css  js  c++  java
  • python之模块定义、导入、优化详解

    一、模块

    1.模块的定义

    模块是一组包含了一组功能的python文件,比如test.py,模块名为test,可以通过import test进行调用。模块可以分为以下四个通用类别

      1 使用python编写的.py文件
    
      2 已被编译为共享库或DLL的C或C++扩展
    
      3 把一系列模块组织到一起的文件夹(注:文件夹下有一个__init__.py文件,该文件夹称之为包)
    
      4 使用C编写并链接到python解释器的内置模块

    2.使用模块(同级目录下使用方式)

    (1)import的使用
      import test 或者 import test as bieming 或者可以在一行导入多个模块 import sys,os

    (2)from……import…的使用
      from test import test1(其中test1指test中的函数)
      from 文件夹 import 模块 #此种方式调用的时候,调用时需要模块.函数()

    以上两种模块使用方式的区别是:
    使用from...import...则是将test中的名字直接导入到当前的名称空间中,所以在当前名称空间中,直接使用名字就可以了、无需加前缀:test.


    3.模块的搜索路径

    模块的查找顺序是:内存中已经加载的模块->内置模块->sys.path路径中包含的模块

    二、包

    1.包的定义
    包就是一个包含有__init__.py文件的文件夹,所以其实我们创建包的目的就是为了用文件夹将文件/模块组织起来

    2.包的使用
    import导入文件时,产生名称空间中的名字来源于文件;import导入包,产生的名称空间的名字同样来源于文件,即包下的__init__.py,导入包本质就是在导入该文件
    示范文件:
    glance/                   #Top-level package
    
    ├── __init__.py      #Initialize the glance package
    
    ├── api                  #Subpackage for api
    
    │   ├── __init__.py
    
    │   ├── policy.py
    
    │   └── versions.py
    
    ├── cmd                #Subpackage for cmd
    
    │   ├── __init__.py
    
    │   └── manage.py
    
    └── db                  #Subpackage for db
    
        ├── __init__.py
    
        └── models.py
    

    三、不同级目录下使用模块方式:

    1.找到模块所在的文件目录并将文件目录加载到系统路径

      import sys,os

      x=os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

      sys.path.append(x)

    2.在文件中导入该模块

    import module_1

    module_1.sayhi()

    四、软件开发规范

     

     




     

  • 相关阅读:
    多时钟系统3 Crossing clock domains Task
    多时钟系统2 Crossing clock domains Flag
    多时钟系统4 Crossing clock domains Data bus
    sytem.h
    TDA2003功放电路
    windows ddk
    关于DSP的一些基本知识和用法(资料来源于合众达网页)
    [FPGA][NiosII]内置LCD控制器使用心得(转)
    FPGA pins
    DSP2407配置步骤
  • 原文地址:https://www.cnblogs.com/aiyamoer/p/9186368.html
Copyright © 2011-2022 走看看