python 學習筆記4

10.模塊

a.模塊的使用

我們使用import …來導入一個模塊,也可以使用from … import …來導入一個模塊中指定的某些成員。例如,我們來導入一個標準模塊sys

#!/usr/bin/python
# Filename: using_sys.py

import sys

print 'The command line arguments are:'
for i in sys.argv:
    print i

print '\n\nThe PYTHONPATH is', sys.path, '\n' 

輸出

$ 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']

其中We are arguments是參數。通過sys.argv可以看到,第一個參數sys.argv[0]是’using_sys.py’,永遠是文件名。後面的’we’是sys.argv[1]、’are’是sys.argv[2]以及’arguments’是sys.argv[3].調用一個模塊就是從指定的路徑(環境變量)中尋找該模塊。

b.模塊的__name__

對於每一個模塊,都有一個自己的__name__。當一個py文件被執行的時候,也可以把這個文件看作一個模塊,有它自己的__name__。如果它是’main‘,這說明這個模塊被用戶單獨運行;如果是被調用的話,則它是該模塊名。

#!/usr/bin/python
# Filename: using_name.py

if __name__ == '__main__':
    print 'This program is being run by itself'
else:
    print 'I am being imported from another module' 

輸出:

$ python using_name.py
This program is being run by itself

$ python
>>> import using_name
I am being imported from another module
>>> 

這樣的話我們可以在if __name__ == ‘__main__’:裏添加代碼用於測試這個模塊(或者說程序),這個時候,if __name__ == ‘__main__’的作用就和main函數一樣了。

c.創建自己的模塊

創建自己的模塊很簡單!確保它具有.py擴展名,然後把它放到和執行程序一樣的路徑中(或ys.path所列目錄之一)即可。注意,模塊裏的變量在外部調用時,要用’模塊名.變量名‘來使用。

#!/usr/bin/python
# Filename: mymodule.py

def sayhi():
    print 'Hi, this is mymodule speaking.'

version = '0.1'

# End of mymodule.py 
#!/usr/bin/python
# Filename: mymodule_demo.py

import mymodule

mymodule.sayhi()
print 'Version', mymodule.version 

輸出:

$ python mymodule_demo.py
Hi, this is mymodule speaking.
Version 0.1 
發佈了39 篇原創文章 · 獲贊 58 · 訪問量 44萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章