• 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()

    四、软件开发规范

     

     




     

  • 相关阅读:
    Unity3D之Character Controller(CC)与GameObject的碰撞方法
    Unity3D之资源问题处理
    Unity3D之多个fbx导入场景, 合并多个动画
    Unity3D性能优化--- 收集整理的一堆
    批量删除
    Unity3D插件之Easy Touch 3.1(1): Easy Joystick
    Unity3D与iOS消息交互方法(1)--iOS接收Unity3D发出的消息
    爬虫 requests 模块
    Flask 模型操作
    11.4 Flask session,闪现
  • 原文地址:https://www.cnblogs.com/aiyamoer/p/9186368.html
Copyright © 2020-2023  润新知