1. 程式人生 > >python之模塊定義、導入、優化詳解

python之模塊定義、導入、優化詳解

無需 文件中 就是 系統路徑 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()
 




python之模塊定義、導入、優化詳解