本文目錄一覽:
- 1、什麼是python模塊
- 2、盤點Python常用的模塊和包
- 3、python之數學相關模塊
- 4、Python強大的內置模塊collections-
- 5、“python有sketchup模塊嗎”
- 6、python中都有哪些模塊呢
什麼是python模塊
簡而言之,在python中,一個文件(以「.py」為後綴名的文件)就叫做一個模塊,每一個模塊在python里都被看作是一個獨立的文件。模塊可以被項目中的其他模塊、一些腳本甚至是互動式的解析器所使用,它可以被其他程序引用,從而使用該模塊里的函數等功能,使用Python中的標準庫也是採用這種方法。
盤點Python常用的模塊和包
模塊
1.定義
計算機在開發過程中,代碼越寫越多,也就越難以維護,所以為了編寫可維護的代碼,我們會把函數進行分組,放在不同的文件里。在python里,一個.py文件就是一個模塊。
2.優點:
提高代碼的可維護性。
提高代碼的復用,當模塊完成時就可以在其他代碼中調用。
引用其他模塊,包含python內置模塊和其他第三方模塊。
避免函數名和變數名等名稱衝突。
python內建模塊:
1.sys模塊
2.random模塊
3.os模塊:
os.path:講解
數據可視化
1.matplotlib :
是Python可視化程序庫的泰斗,它的設計和在1980年代被設計的商業化程序語言MATLAB非常接近。比如pandas和Seaborn就是matplotlib的外包,它們讓你能用更少的代碼去調用 matplotlib的方法。
訪問:
顏色:
教程:
2.Seaborn:
它是構建在matplotlib的基礎上的,用簡潔的代碼來製作好看的圖表。Seaborn跟matplotlib最大的區別就是它的默認繪圖風格和色彩搭配都具有現代美感。
訪問:
3.ggplot:
gplot 跟 matplotlib 的不同之處是它允許你疊加不同的圖層來完成一幅圖
訪問:
4.Mayavi:
Mayavi2完全用Python編寫,因此它不但是一個方便實用的可視化軟體,而且可以方便地用Python編寫擴展,嵌入到用戶編寫的Python程序中,或者直接使用其面向腳本的API:mlab快速繪製三維圖
訪問:
講解:
5.TVTK:
TVTK庫對標準的VTK庫進行包裝,提供了Python風格的API、支持Trait屬性和numpy的多維數組。
VTK () 是一套三維的數據可視化工具,它由C++編寫,包涵了近千個類幫助我們處理和顯示數據
講解:
機器學習
1.Scikit-learn
是一個簡單且高效的數據挖掘和數據分析工具,易上手,可以在多個上下文中重複使用。它基於NumPy, SciPy 和 matplotlib,開源,可商用(基於 BSD 許可)。
訪問:
講解:
2.Tensorflow
最初由谷歌機器智能科研組織中的谷歌大腦團隊(Google Brain Team)的研究人員和工程師開發。該系統設計的初衷是為了便於機器學習研究,能夠更快更好地將科研原型轉化為生產項目。
相關推薦:《Python視頻教程》
Web框架
1.Tornado
訪問:
2.Flask
訪問:
3.Web.py
訪問:
4.django
5.cherrypy
6.jinjs
GUI 圖形界面
1.Tkinter
2.wxPython
3.PyGTK
4.PyQt
5.PySide
科學計算
教程
1.numpy
訪問
講解
2.sympy
sympy是一個Python的科學計算庫,用一套強大的符號計算體系完成諸如多項式求值、求極限、解方程、求積分、微分方程、級數展開、矩陣運算等等計算問題
訪問
講解
解方程
3.SciPy
官網
講解
4.pandas
官網
講解
5.blaze
官網
密碼學
1.cryptography
2.hashids
3.Paramiko
4.Passlib
5.PyCrypto
6.PyNacl
爬蟲相關
requests
scrapy
pyspider
portia
html2text
BeautifulSoup
lxml
selenium
mechanize
PyQuery
creepy
gevent
一個高並發的網路性能庫
圖像處理
bigmoyan
Python Imaging Library(PIL)
pillow:
自然語言處理
1.nltk:
教程
2.snownlp
3.Pattern
4.TextBlob
5.Polyglot
6.jieba:
資料庫驅動
mysql-python
PyMySQL
PyMongo
pymongo
MongoDB庫
訪問:
redis
Redis庫
訪問:
cxOracle
Oracle庫
訪問:
SQLAlchemy
SQL工具包及對象關係映射(ORM)工具
訪問:
peewee,
SQL工具包及對象關係映射(ORM)工具
訪問:
torndb
Tornado原裝DB
訪問:
Web
pycurl
URL處理工具
smtplib模塊
發送電子郵件
其他庫暫未分類
1.PyInstaller:
是一個十分有用的第三方庫,它能夠在Windows、Linux、 Mac OS X 等操作系統下將 Python 源文件打包,通過對源文件打包, Python 程序可以在沒有安裝 Python 的環境中運行,也可以作為一個 獨立文件方便傳遞和管理。
2.Ipython
一種互動式計算和開發環境
講解
命令
ls、cd 、run、edit、clear、exist
python之數學相關模塊
先來看一下 math 模塊中包含內容,如下所示:
接下來具體看一下該模塊的常用函數和常量。
ceil(x)
返回 x 的上限,即大於或者等於 x 的最小整數。看下示例:
floor(x)
返回 x 的向下取整,小於或等於 x 的最大整數。看下示例:
fabs(x)
返回 x 的絕對值。看下示例:
fmod(x, y)
返回 x/y 的餘數,值為浮點數。看下示例:
factorial(x)
返回 x 的階乘,如果 x 不是整數或為負數時則將引發 ValueError。看下示例:
pow(x, y)
返回 x 的 y 次冪。看下示例:
fsum(iterable)
返回迭代器中所有元素的和。看下示例:
gcd(x, y)
返回整數 x 和 y 的最大公約數。看下示例:
sqrt(x)
返回 x 的平方根。看下示例:
trunc(x)
返回 x 的整數部分。看下示例:
exp(x)
返回 e 的 x 次冪。看下示例:
log(x[, base])
返回 x 的對數,底數默認為 e。看下示例:
常量
tan(x)
返回 x 弧度的正切值。看下示例:
atan(x)
返回 x 的反正切值。看下示例:
sin(x)
返回 x 弧度的正弦值。看下示例:
asin(x)
返回 x 的反正弦值。看下示例:
cos(x)
返回 x 弧度的餘弦值。看下示例:
acos(x)
返回 x 的反餘弦值。看下示例:
decimal 模塊為正確舍入十進位浮點運算提供了支持,相比內置的浮點類型 float,它能更加精確的控制精度,能夠為精度要求較高的金融等領域提供支持。
decimal 在一個獨立的 context 下工作,可以使用 getcontext() 查看當前上下文,如下所示:
從上面的結果中我們可以看到 prec=28,這就是默認的精度,我們可以使用 getcontext().prec = xxx 來重新設置精度。接下來通過具體示例看一下。
基本運算
執行結果:
上面結果是用了默認精度,我們重新設置下精度再來看一下:
執行結果:
random 模塊可以生成隨機數,我們來看一下其常用函數。
random()
返回 [0.0, 1.0) 範圍內的一個隨機浮點數。看下示例:
uniform(a, b)
返回 [a, b) 範圍內的一個隨機浮點數。看下示例:
randint(a, b)
返回 [a, b] 範圍內的一個隨機整數。看下示例:
randrange(start, stop[, step])
返回 [start, stop) 範圍內步長為 step 的一個隨機整數。看下示例:
choice(seq)
從非空序列 seq 返回一個隨機元素。 看下示例:
shuffle(x[, random])
將序列 x 隨機打亂位置。看下示例:
sample(population, k)
返回從總體序列或集合中選擇的唯一元素的 k 長度列表,用於無重複的隨機抽樣。看下示例:
參考:
Python強大的內置模塊collections-
collections 是 Python 的一個內置模塊,所謂內置模塊的意思是指 Python 內部封裝好的模塊,無需安裝即可直接使用。
Python 提供了很多非常好用的基本類型,比如不可變類型 tuple,我們可以輕鬆地用它來表示一個二元向量。
namedtuple 是一個函數,它用來創建一個自定義的 tuple 對象,並且規定了 tuple 元素的個數,並可以用屬性而不是索引來引用 tuple 的某個元素。
如此一來,我們用 namedtuple 可以很方便地定義一種數據類型,它具備 tuple 的不變性,又可以根據屬性來引用,使用十分方便。
本示例中我們使用了一個三維坐標 x,y,z 來定義一個 tuple 對象,對象元素有3個,然後通過坐標值來引用相應的值即可。
deque是棧和隊列的一種廣義實現,deque是 “double-end queue” 的簡稱;
deque支持線程安全、有效內存地以近似O(1)的性能在 deque 的兩端插入和刪除元素,儘管 list 也支持相似的操作,但是它主要在固定長度操作上的優化,從而在 pop(0) 和 insert(0,v)(會改變數據的位置和大小)上有O(n)的時間複雜度。
在數據結構中,我們知道隊列和堆棧是兩個非常重要的數據類型,一個先進先出,一個後進先出。
在 python 中,使用 list 存儲數據時,按索引訪問元素很快,但是插入和刪除元素就很慢,因為 list 是線性存儲,數據量大的時候,插入和刪除效率很低。
deque是為了高效實現插入和刪除操作的雙向鏈表結構,非常適合實現隊列和堆棧這樣的數據結構。
defaultdict是內置數據類型 dict 的一個子類,基本功能與 dict 一樣,只是重寫了一個方法__missing__(key)和增加了一個可寫的對象變數 default_factory。
使用 dict 字典類型時,如果引用的 key 不存在,就會拋出 KeyError。如果希望 Key 不存在時,返回一個默認值,就可以用 defaultdict。
OrderedDict類似於正常的詞典,只是它記住了元素插入的順序,當在有序的詞典上迭代時,返回的元素就是它們第一次添加的順序。這樣 dict 就是一個有序的字典。
使用 dict 時,key 是無序的。在對 dict 做迭代時,我們無法確定 key 的順序。但是如果想要保持 key 的順序,可以用 OrderedDict。
“python有sketchup模塊嗎”
有。Python是一種面向對象、解釋型計算機程序設計語言,而sketchup通過python就可以把設計流程中的各個軟體串聯起來成為一個整體,因此是有的。Python總共有295個模塊,其中模塊219個,開頭的模塊76個。
python中都有哪些模塊呢
os模塊
os.getcwd() # 獲取當前工作目錄,即當前python腳本工作的目錄路徑
os.chdir(“dirname”) # 改變當前腳本工作目錄;相當於shell下cd
os.curdir # 返回當前目錄: (‘.’)
os.pardir # 獲取當前目錄的父目錄字元串名:(‘..’)
os.makedirs(‘dirname1/dirname2’) # 可生成多層遞歸目錄
os.removedirs(‘dirname1’) # 若目錄為空,則刪除,並遞歸到上一級目錄,如若也為空,則刪除,依此類推
os.mkdir(‘dirname’) # 生成單級目錄;相當於shell中mkdir dirname
os.rmdir(‘dirname’) # # 刪除單級空目錄,若目錄不為空則無法刪除,報錯;相當於shell中rmdir dirname
os.listdir(‘dirname’) # 列出指定目錄下的所有文件和子目錄,包括隱藏文件,並以列表方式列印
os.remove() # 刪除一個文件
os.rename(“oldname”,”newname”) # 重命名文件/目錄
os.stat(‘path/filename’) # 獲取文件/目錄信息
os.sep # 輸出操作系統特定的路徑分隔符,win下為”\\”,Linux下為”/”
os.linesep # 輸出當前平台使用的行終止符,win下為”\t\n”,Linux下為”\n”
os.pathsep # 輸出用於分割文件路徑的字元串 win下為;,Linux下為:
os.name # 輸出字元串指示當前使用平台。win-‘nt’; Linux-‘posix’
os.system(“bash command”) # 運行shell命令,直接顯示
os.environ # 獲取系統環境變數
os.path.abspath(path) # 返回path規範化的絕對路徑
os.path.split(path) # 將path分割成目錄和文件名二元組返回
os.path.dirname(path) # 返回path的目錄。其實就是os.path.split(path)的第一個元素
os.path.basename(path) #
返回path最後的文件名。如何path以/或\結尾,那麼就會返回空值。即os.path.split(path)的第二個元素
os.path.exists(path) # 如果path存在,返回True;如果path不存在,返回False
os.path.isabs(path) # 如果path是絕對路徑,返回True
os.path.isfile(path) # 如果path是一個存在的文件,返回True。否則返回False
os.path.isdir(path) # 如果path是一個存在的目錄,則返回True。否則返回False
os.path.join(path1[, path2[, …]]) # 將多個路徑組合後返回,第一個絕對路徑之前的參數將被忽略
os.path.getatime(path) # 返回path所指向的文件或者目錄的最後訪問時間
os.path.getmtime(path) # 返回path所指向的文件或者目錄的最後修改時間
os.path.getsize(path) # 返回path的大小
sys模塊
sys.argv # 命令行參數List,第一個元素是程序本身路徑
sys.exit(n) # 退出程序,正常退出時exit(0)
sys.version # 獲取Python解釋程序的版本信息
sys.maxint # 最大的Int值
sys.path # 返回模塊的搜索路徑,初始化時使用PYTHONPATH環境變數的值
sys.platform # 返回操作系統平台名稱
datetime模塊
datetime.today()返回一個表示當前本期日期時間的datetime對象
datetime.now([tz])返回指定時區日期時間的datetime對象,如果不指定tz參數則結果同上
datetime.utcnow()返回當前utc日期時間的datetime對象
datetime.fromtimestamp(timestamp[, tz])根據指定的時間戳創建一個datetime對象
datetime.utcfromtimestamp(timestamp)根據指定的時間戳創建一個datetime對象
datetime.strptime(date_str, format)將時間字元串轉換為datetime對象
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/243263.html