五、python模块以及包
模塊:編寫的別的程序中重用一些代碼。
1 模塊的寫法:
2 使用標準庫模塊例子(sys 模塊包含了與 Python 解釋器及其環境相關的功能,也就是所謂的系統功能( system) ),代碼如下:
import sys print('The command line arguments are:') for i in sys.argv:print(i) print('\n\nThe PYTHONPATH is', sys.path, '\n') #程序輸出 The command line arguments are: F:/python/demo/test.pyThe PYTHONPATH is ['F:\\python\\demo', 'F:\\python\\demo', 'C:\\Windows\\system32\\python34.zip', 'I:\\Python34\\DLLs', 'I:\\Python34\\lib', 'I:\\Python34', 'I:\\Python34\\lib\\site-packages']分析:在這一案例中,由于其是一個內置模塊,因此 Python 知道應該在哪里找到它。如果它不是一個已編譯好的模塊,即用 Python 編寫的模塊,那么 Python 解釋器將從它的sys.path 變量所提供的目錄中進行搜索。如果找到了對應模塊,則該模塊中的語句將開始運行,并能夠為你所使用。
你可以直接導入位于當前目錄的模塊。否則,你必須將你的模塊放置在sys.path 內所列出的目錄中。另外要注意的是當前目錄指的是程序啟動的目錄。你可以通過運行 import os;print(os.getcwd()) 來查看你的程序目前所處在的目錄。
3 .pyc文件?
按字節碼編譯的文件。.pyc 文件在你下一次從其它不同的程序導入模塊時非常有用——它將更加快速,因為導入模塊時所需要的一部分處理工作已經完成了。同時,這些按字節碼編譯的文件是獨立于運行平臺的。
注意:這些 .pyc 文件通常會創建在與對應的 .py 文件所處的目錄中。如果 Python 沒有相應的權限對這一目錄進行寫入文件的操作,那么 .pyc 文件將不會被創建。
4 from..import語句。
?
2 從自定義包中引入包中.py的函數:例如? from mypacket.hello import *
from util import MongoUtil # from util.MongoUtil import *#如果是第一種方法,則使用MongoUtil內部函數時候,需要MongoUtil.function() #如果用第二種方法,則不用加前綴,可以直接使用。?
5 模塊的__name__屬性
確定模塊是獨立運行的還是被導入進來運行 ,例如:
6 編寫自己的模塊
#在mymodule.py中寫入如下代碼 def say_hi(): print('Hi, this is mymodule speaking.') __version__ = '0.1'#另一個模塊mymodule_demo.py中寫入如下測試代碼:: import mymodulemymodule.say_hi() print('Version', mymodule.__version__)#另外一種導入方式 from mymodule import say_hi,__version__say_hi() print("version",__version__)注意:自己的模塊應該放置于與其它我們即將導入這一模塊的程序相同的目錄下,或者放置在sys.path所列出的其中一個目錄下。
7 dir函數
內置的 dir() 函數能夠返回由對象所定義的名稱列表 ,例如;
8 包
變量通常位于函數內部,函數與全局變量通常位于模塊內部。如果你希望組織起這些模塊的話,應該怎么辦?這便是包
包是指一個包含模塊與一個特殊的 __init__.py 文件的文件夾,后者向 Python 表明這一文
件夾是特別的,因為其包含了 Python 模塊
?
注:參考《byte-of-python-chinese-edition》
?
轉載于:https://www.cnblogs.com/buptzlb/p/7538382.html
總結
以上是生活随笔為你收集整理的五、python模块以及包的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql-5.7 持久化统计信息详解
- 下一篇: python第三天习题