導航:首頁 > 編程語言 > python模塊包中

python模塊包中

發布時間:2022-12-14 08:27:56

python中包的理解與運用

6.4. 包
包通常是使用用「圓點模塊名」的結構化模塊命名空間。例如,名為 A.B 的模塊表示了名為 A 的包中名為 B 的子模塊。正如同用模塊來保存不同的模塊架構可以避免全局變數之間的相互沖突,使用圓點模塊名保存像 NumPy 或 Python Imaging Library 之類的不同類庫架構可以避免模塊之間的命名沖突。
假設你現在想要設計一個模塊集(一個「包」)來統一處理聲音文件和聲音數據。存在幾種不同的聲音格式(通常由它們的擴展名來標識,例如:.wav, .aiff,.au ),於是,為了在不同類型的文件格式之間轉換,你需要維護一個不斷增長的包集合。可能你還想要對聲音數據做很多不同的操作(例如混音,添加回聲,應用平衡 功能,創建一個人造效果),所以你要加入一個無限流模塊來執行這些操作。你的包可能會是這個樣子(通過分級的文件體系來進行分組)
當導入這個包時,Python 通過 sys.path 搜索路徑查找包含這個包的子目錄。
為了讓 Python 將目錄當作內容包,目錄中必須包含 __init__.py 文件。這是為了避免一個含有爛俗名字的目錄無意中隱藏了稍後在模塊搜索路徑中出現的有效模塊,比如 string。最簡單的情況下,只需要一個空的 __init__.py 文件即可。當然它也可以執行包的初始化代碼,或者定義稍後介紹的 __all__ 變數。
用戶可以每次只導入包里的特定模塊,例如:
import sound.effects.echo
這樣就導入了 sound.effects.echo 子模塊。它必需通過完整的名稱來引用:
sound.effects.echo.echofilter(input, output, delay=0.7, atten=4)
導入包時有一個可以選擇的方式:
from sound.effects import echo
這樣就載入了 echo 子模塊,並且使得它在沒有包前綴的情況下也可以使用,所以它可以如下方式調用:
echo.echofilter(input, output, delay=0.7, atten=4)
還有另一種變體用於直接導入函數或變數:
from sound.effects.echo import echofilter
這樣就又一次載入了 echo 子模塊,但這樣就可以直接調用它的 echofilter() 函數:
echofilter(input, output, delay=0.7, atten=4)
需要注意的是使用 from package import item 方式導入包時,這個子項(item)既可以是包中的一個子模塊(或一個子包),也可以是包中定義的其它命名,像函數、類或變數。import 語句首先核對是否包中有這個子項,如果沒有,它假定這是一個模塊,並嘗試載入它。如果沒有找到它,會引發一個 ImportError 異常。

⑵ python中的模塊,庫,包有什麼區別

1.python模塊是:

python模塊:包含並且有組織的代碼片段為模塊。

表現形式為:寫的代碼保存為文件。這個文件就是一個模塊。sample.py 其中文件名smaple為模塊名字。

關系圖:

3.庫(library)

庫的概念是具有相關功能模塊的集合。這也是Python的一大特色之一,即具有強大的標准庫、第三方庫以及自定義模塊。

⑶ 盤點Python常用的模塊和包

模塊

1.定義

計算機在開發過程中,代碼越寫越多,也就越難以維護,所以為了編寫可維護的代碼,我們會把函數進行分組,放在不同的文件里。在python里,一個.py文件就是一個模塊。

2.優點:

提高代碼的可維護性。

提高代碼的復用,當模塊完成時就可以在其他代碼中調用。

引用其他模塊,包含python內置模塊和其他第三方模塊。

避免函數名和變數名等名稱沖突。

python內建模塊:

1.sys模塊

2.random模塊

3.os模塊:

os.path:講解

https://www.cnblogs.com/yufeihlf/p/6179547.html

數據可視化

1.matplotlib :

是Python可視化程序庫的泰斗,它的設計和在1980年代被設計的商業化程序語言MATLAB非常接近。比如pandas和Seaborn就是matplotlib的外包,它們讓你能用更少的代碼去調用 matplotlib的方法。

訪問:

https://matplotlib.org/

顏色:

https://www.cnblogs.com/darkknightzh/p/6117528.html

教程:

https://wizardforcel.gitbooks.io/matplotlib-user-guide/3.1.html

2.Seaborn:

它是構建在matplotlib的基礎上的,用簡潔的代碼來製作好看的圖表。Seaborn跟matplotlib最大的區別就是它的默認繪圖風格和色彩搭配都具有現代美感。

訪問:

http://seaborn.pydata.org/index.html

3.ggplot:

gplot 跟 matplotlib 的不同之處是它允許你疊加不同的圖層來完成一幅圖

訪問:

http://ggplot.yhathq.com/

4.Mayavi:

Mayavi2完全用Python編寫,因此它不但是一個方便實用的可視化軟體,而且可以方便地用Python編寫擴展,嵌入到用戶編寫的Python程序中,或者直接使用其面向腳本的API:mlab快速繪制三維圖

訪問:http://code.enthought.com/pages/mayavi-project.html

講解:https://blog.csdn.net/ouening/article/details/76595427https://www.jianshu.com/p/81e6f4f1cdd8

5.TVTK:

TVTK庫對標準的VTK庫進行包裝,提供了Python風格的API、支持Trait屬性和numpy的多維數組。

VTK (http://www.vtk.org/) 是一套三維的數據可視化工具,它由C++編寫,包涵了近千個類幫助我們處理和顯示數據

講解:https://docs.huihoo.com/scipy/scipy-zh-cn/tvtk_intro.html

機器學習

1.Scikit-learn

是一個簡單且高效的數據挖掘和數據分析工具,易上手,可以在多個上下文中重復使用。它基於NumPy, SciPy 和 matplotlib,開源,可商用(基於 BSD 許可)。

訪問:

講解:https://blog.csdn.net/finafily0526/article/details/79318401

2.Tensorflow

最初由谷歌機器智能科研組織中的谷歌大腦團隊(Google Brain Team)的研究人員和工程師開發。該系統設計的初衷是為了便於機器學習研究,能夠更快更好地將科研原型轉化為生產項目。

相關推薦:《Python視頻教程》

Web框架

1.Tornado

訪問:http://www.tornadoweb.org/en/stable/

2.Flask

訪問:http://flask.pocoo.org/

3.Web.py

訪問:http://webpy.org/

4.django

https://www.djangoproject.com/

5.cherrypy

http://cherrypy.org/

6.jinjs

http://docs.jinkan.org/docs/jinja2/

GUI 圖形界面

1.Tkinter

https://wiki.python.org/moin/TkInter/

2.wxPython

https://www.wxpython.org/

3.PyGTK

http://www.pygtk.org/

4.PyQt

https://sourceforge.net/projects/pyqt/

5.PySide

http://wiki.qt.io/Category:LanguageBindings::PySide

科學計算

教程

https://docs.huihoo.com/scipy/scipy-zh-cn/index.html#

1.numpy

訪問

http://www.numpy.org/

講解

https://blog.csdn.net/lm_is_dc/article/details/81098805

2.sympy

sympy是一個Python的科學計算庫,用一套強大的符號計算體系完成諸如多項式求值、求極限、解方程、求積分、微分方程、級數展開、矩陣運算等等計算問題

訪問

https://docs.sympy.org/0.7.1/guide.html#guide

講解

https://www.jianshu.com/p/339c91ae9f41

解方程

https://www.cnblogs.com/zyg123/p/10549354.html

3.SciPy

官網

https://www.scipy.org/

講解

https://blog.csdn.net/wsp_1138886114/article/details/80444621

4.pandas

官網

http://pandas.pydata.org/

講解

https://www.cnblogs.com/linux-wangkun/p/5903945.html

5.blaze

官網

http://blaze.readthedocs.io/en/latest/index.html

密碼學

1.cryptography

https://pypi.python.org/pypi/cryptography/

2.hashids

http://www.oschina.net/p/hashids

3.Paramiko

http://www.paramiko.org/

4.Passlib

https://pythonhosted.org/passlib/

5.PyCrypto

https://pypi.python.org/pypi/pycrypto

6.PyNacl

http://pynacl.readthedocs.io/en/latest/

爬蟲相關

requests

http://www.python-requests.org/

scrapy

https://scrapy.org/

pyspider

https://github.com/binux/pyspider

portia

https://github.com/scrapinghub/portia

html2text

https://github.com/Alir3z4/html2text

BeautifulSoup

https://www.crummy.com/software/BeautifulSoup/

lxml

http://lxml.de/

selenium

http://docs.seleniumhq.org/

mechanize

https://pypi.python.org/pypi/mechanize

PyQuery

https://pypi.python.org/pypi/pyquery/

creepy

https://pypi.python.org/pypi/creepy

gevent

一個高並發的網路性能庫

http://www.gevent.org/

圖像處理

bigmoyan

http://scikit-image.org/

Python Imaging Library(PIL)

http://www.pythonware.com/procts/pil/

pillow:

http://pillow.readthedocs.io/en/latest/

自然語言處理

1.nltk:

http://www.nltk.org/

教程

https://blog.csdn.net/wizardforcel/article/details/79274443

2.snownlp

https://github.com/isnowfy/snownlp

3.Pattern

https://github.com/clips/pattern

4.TextBlob

http://textblob.readthedocs.io/en/dev/

5.Polyglot

https://pypi.python.org/pypi/polyglot

6.jieba:

https://github.com/fxsjy/jieba

資料庫驅動

mysql-python

https://sourceforge.net/projects/mysql-python/

PyMySQL

https://github.com/PyMySQL/PyMySQL

PyMongo

https://docs.mongodb.com/ecosystem/drivers/python/

pymongo

MongoDB庫

訪問:https://pypi.python.org/pypi/pymongo/

redis

Redis庫

訪問:https://pypi.python.org/pypi/redis/

cxOracle

Oracle庫

訪問:https://pypi.python.org/pypi/cx_Oracle

SQLAlchemy

SQL工具包及對象關系映射(ORM)工具

訪問:http://www.sqlalchemy.org/

peewee,

SQL工具包及對象關系映射(ORM)工具

訪問:https://pypi.python.org/pypi/peewee

torndb

Tornado原裝DB

訪問:https://github.com/bdarnell/torndb

Web

pycurl

URL處理工具

smtplib模塊

發送電子郵件

其他庫暫未分類

1.PyInstaller:

是一個十分有用的第三方庫,它能夠在Windows、Linux、 Mac OS X 等操作系統下將 Python 源文件打包,通過對源文件打包, Python 程序可以在沒有安裝 Python 的環境中運行,也可以作為一個 獨立文件方便傳遞和管理。

2.Ipython

一種互動式計算和開發環境

講解

https://www.cnblogs.com/zzhzhao/p/5295476.html

命令

ls、cd 、run、edit、clear、exist

閱讀全文

與python模塊包中相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:758
蘋果郵件無法連接伺服器地址 瀏覽:963
phpffmpeg轉碼 瀏覽:672
長沙好玩的解壓項目 瀏覽:145
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:737
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:486
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:383
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:350
風翼app為什麼進不去了 瀏覽:779
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:151
伊克塞爾文檔怎麼進行加密 瀏覽:893
app轉賬是什麼 瀏覽:163