簡明Python 教程 --模組
第8章 模組
目錄表
- 簡介
- 使用sys模組
- 位元組編譯的.pyc檔案
- from..import語句
- 模組的__name__
- 使用模組的__name__
- 製造你自己的模組
- 建立你自己的模組
- from..import
- dir()函式
- 使用dir函式
- 概括
簡介
你已經學習瞭如何在你的程式中定義一次函式而重用程式碼。如果你想要在其他程式中重用很多函式,那麼你該如何編寫程式呢?你可能已經猜到了,答案是使用模組。模組基本上就是一個包含了所有你定義的函式和變數的檔案。為了在其他程式中重用模組,模組的檔名必須以.py
為副檔名。
模組可以從其他程式 輸入 以便利用它的功能。這也是我們使用Python標準庫的方法。首先,我們將學習如何使用標準庫模組。
使用sys模組
#!/usr/bin/python
# Filename: using_sys.pyimport
sys
print
'The command line arguments are:'
for
i
in
sys
.argv:
print
i
print
'/n/nThe PYTHONPATH is'
,
sys
.path,
'/n'
(原始檔:code/using_sys.py)
輸出
$ python using_sys.py we are arguments
The command line arguments are:
using_sys.py
we
are
arguments
The PYTHONPATH is ['/home/swaroop/byte/code', '/usr/lib/python23.zip',
'/usr/lib/python2.3', '/usr/lib/python2.3/plat-linux2',
'/usr/lib/python2.3/lib-tk', '/usr/lib/python2.3/lib-dynload',
'/usr/lib/python2.3/site-packages', '/usr/lib/python2.3/site-packages/gtk-2.0']
它如何工作
首先,我們利用import
語句 輸入 sys
模組。基本上,這句語句告訴Python,我們想要使用這個模組。sys
模組包含了與Python直譯器和它的環境有關的函式。
當Python執行import sys
語句的時候,它在sys.path
變數中所列目錄中尋找sys.py
模組。如果找到了這個檔案,這個模組的主塊中的語句將被執行,然後這個模組將能夠被你 使用 。注意,初始化過程僅在我們 第一次 輸入模組的時候進行。另外,“sys”是“system”的縮寫。
sys
模組中的argv
變數通過使用點號指明——sys.argv
——這種方法的一個優勢是這個名稱不會與任何在你的程式中使用的argv
變數衝突。另外,它也清晰地表明瞭這個名稱是sys
模組的一部分。
sys.argv
變數是一個字串的 列表 (列表會在後面的章節詳細解釋)。特別地,sys.argv
包含了 命令列引數 的列表,即使用命令列傳遞給你的程式的引數。
如果你使用IDE編寫執行這些程式,請在選單裡尋找一個指定程式的命令列引數的方法。
這裡,當我們執行python using_sys.py we are arguments
的時候,我們使用python命令執行using_sys.py
模組,後面跟著的內容被作為引數傳遞給程式。Python為我們把它儲存在sys.argv
變數中。
記住,指令碼的名稱總是sys.argv
列表的第一個引數。所以,在這裡,'using_sys.py'
是sys.argv[0]
、'we'
是sys.argv[1]
、'are'
是sys.argv[2]
以及'arguments'
是sys.argv[3]
。注意,Python從0開始計數,而非從1開始。
sys.path
包含輸入模組的目錄名列表。我們可以觀察到sys.path
的第一個字串是空的——這個空的字串表示當前目錄也是sys.path
的一部分,這與PYTHONPATH
環境變數是相同的。這意味著你可以直接輸入位於當前目錄的模組。否則,你得把你的模組放在sys.path
所列的目錄之一。
原文連線http://www.woodpecker.org.cn:9081/doc/abyteofpython_cn/chinese/index.html
相關文章
- Python教程-6模組Python
- 《Python 簡明教程》讀書筆記系列三 —— 模組Python筆記
- python inspect模組簡單使用Python
- Python模組、第三方模組安裝、模組匯入教程Python
- Python中yaml模組的使用教程PythonYAML
- 簡單介紹python process模組Python
- 簡明 docker 教程Docker
- Python中常用模組有哪些?Python基礎教程Python
- Python爬蟲教程-09-error 模組Python爬蟲Error
- Python 精靈模組簡介_python sprites module introducePython
- python中的itertools模組簡單使用Python
- python 模組:itsdangerous 模組Python
- Python模組:time模組Python
- Python模組之urllib模組Python
- python模組之collections模組Python
- Python開發常用的庫及模組!Python學習教程Python
- Profinet遠端IO模組:模擬量模組_軟體組態說明
- Python 模組Python
- 最簡明的Shiro教程
- GitBook簡明安裝教程Git
- [Python模組學習] glob模組Python
- Zmail-簡單易用的python郵件模組AIPython
- Python技法:用re模組實現簡易tokenizerPython
- Go 1.18 新特性多模組工作區教程-讓多模組開發變得簡單Go
- Python中模組是什麼?Python有哪些模組?Python
- 《簡明 PHP 教程》00 開篇PHP
- 《簡明 PHP 教程》04 基礎PHP
- 《簡明 PHP 教程》02 安裝PHP
- Raspberry Pi 3簡明配置教程
- Apache Kafka各Api模組說明ApacheKafkaAPI
- Python Execl模組Python
- Python mongoHelper模組PythonGo
- Python——JSON 模組PythonJSON
- [Python] pipe模組Python
- Python - 模組包Python
- python——typing模組Python
- Python functools 模組Python
- Python pymsql模組PythonSQL
- Python:requests模組Python