Python2筆記(七)—— 模塊和包

模塊

test.ty:模塊名-test

import math:引入math模塊

print math.pow:調用math模塊函數

如何區分包和文件夾:包下有一個__init__.py,每層都必須要有

# -*- coding: utf-8 -*-
# 導入math
# import math
# 從math導入部分函數,通過as起別名
# from math import pow, sin, log as logger

如果導入的模塊不存在,Python解釋器會報 ImportError 錯誤;

動態導入

有的時候,兩個不同的模塊提供了相同的功能,比如 StringIOcStringIO 都提供了StringIO這個功能。

這是因爲Python是動態語言,解釋執行,因此Python代碼運行速度慢。

如果要提高Python代碼的運行速度,最簡單的方法是把某些關鍵函數用 C 語言重寫,這樣就能大大提高執行速度。

同樣的功能,StringIO 是純Python代碼編寫的,而 cStringIO 部分函數是 C 寫的,因此 cStringIO 運行速度更快。

利用ImportError錯誤,我們經常在Python中動態導入模塊:

# -*- coding: utf-8 -*-
try:
    from cStringIO import StringIO
except ImportError:
    from StringIO import StringIO

__future__

Python的新版本會引入新的功能,但是,實際上這些功能在上一個老版本中就已經存在了。要“試用”某一新的特性,就可以通過導入__future__模塊的某些功能來實現。

第三方模塊

easy_install,pip(推薦,已內置到Python2.7.9)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章