重用一個代碼塊是通過定義函數(shù)來實現(xiàn)精偿,要重用一系列代碼塊,則通過定義模塊來實現(xiàn)。
編寫模塊有很多種方法著角,其中最簡單的一種便是創(chuàng)建一個包含函數(shù)與變量事富、以.py為后綴的文件技俐。使用撰寫 Python 解釋器本身的本地語言來編寫模塊(比如c語言)。且在編譯后统台,可以通過標準 Python 解釋器在你的 Python 代碼中使用它們雕擂。一個模塊可以被其它程序導入并運用其功能。
Python的標準安裝中還包括一組模塊贱勃,稱為標準庫井赌。
import語句從外部導入模塊:
1、 >>>import math
?????? >>>math.sin(0)
?????? 0.0
注:模塊.方法 或 模塊.變量 這種形式清晰地表明從屬于對于的模塊贵扰,因而不會與程序中來自其他模塊的同名元素沖突仇穗。
2、>>>from math import sin
????? >>>sin(0)
????? >>>0.0
還可以:from 模塊 import 功能1戚绕,功能2纹坐,功能3
?????????????? from 模塊 import * (引入模塊中所有功能)
還可為使用as語句為模塊重命名:
import 模塊名 as 自定義名
>>>import math as foobar
>>>foobar.sqrt(4)
2.0
當然as語句不光為模塊名,也可為函數(shù)重命名:
from 模塊 import 功能 as 自定義名
>>>from math import sqrt foobar
>>>foobar(4)
2.0
命令行參數(shù)列肢;
對于標準庫和自定義的模塊恰画,與由編寫解釋器的本地語言來編寫的內(nèi)建模塊存在于解釋器中不同,前者需要存儲在以.py為后綴的模塊文件中瓷马。這些模塊中包含著一系列的函數(shù)和變量拴还。
引用模塊函數(shù)時怎么寫入變量呢?不可能每次都找源碼復制設(shè)變量值粘帖吧欧聘。所以就要用到命令行參數(shù):
即以命令行的格式寫入?yún)?shù)片林;
例如模塊保存在名為 module_using_sys.py 的文件中時,命令行參數(shù)為 $ python module_using_sys.py we are arguments——格式為$ python 模塊文件名 參數(shù) 參數(shù) 參數(shù)...Python 將命令行參數(shù)存儲在sys.argv變量中供我們使用。故可引用sys模式费封,通過sys.argv返回一個由腳本名稱(模塊文件名)和所有參數(shù)組成的列表焕妙。(注:列表下標0即第一個元素為腳本名,后面依次各參數(shù)弓摘,一個參數(shù)占一個位置)
如果它不是一個已編譯好的模塊焚鹊,即用 Python 編寫的模塊,那么 Python 解釋器將從它的sys.path變量所提供的目錄中進行搜索韧献。如果找到了對應模塊末患,則該模塊中的語句將在開始運行,并能夠為你所使用锤窑。在這里需要注意的是璧针,初始化工作只需在我們第一次導入模塊時完成。
模塊的name屬性:不懂
編寫自定義模塊:
很簡單渊啰,每一個程序其實都可以成為一個模塊的內(nèi)容探橱,保存在以.py為擴展名的文件中。
eg:
先一個函數(shù)存為模塊:
def say_hi():
? ? print('Hi, this is mymodule speaking.')
_version_='0.1'
另一個模塊(保存于mymodule_demo.py):
import mymodule
mymodule.say_hi()
print('Version',mymodule.__version__)
輸出:
$ python mymodule_demo.py
Hi, this is mymodule speaking.
Version 0.1
想要知道一個模塊內(nèi)有哪些函數(shù)與變量绘证,可以使用dir方法隧膏,語法為:
dir(模塊名)
此筆記就此終結(jié),其他的在應用中去理解B蹩摺K街病!