馬鞍山建設(shè)機械網(wǎng)站seo優(yōu)化網(wǎng)站的注意事項
注:最后有面試挑戰(zhàn),看看自己掌握了嗎
文章目錄
- Standard Library簡介
- python內(nèi)置對象
- 如何安裝發(fā)布第三方模塊
- 10最好用的模塊匯總
- 包的本質(zhì)
- datetime模塊
- 案例
- Math模塊
- random模塊
- OS模塊
- sys模塊
- time模塊
- 總結(jié)
- 自定義模塊
- 標準庫模塊
- 用help查看time模塊
- 常用第三方庫大匯總
- 模塊->包
- 導入包模塊:
- 閑話
🌸I could be bounded in a nutshell and count myself a king of infinite space.
錢塘江上潮信來,今日方知我是我。
特別鳴謝:木芯工作室 、Ivan from Russia
Standard Library簡介
python標準庫內(nèi)置了大量的函數(shù)和類,是python解釋器里的核心功能之一。該標準庫在python安裝時候就已經(jīng)存在。
python內(nèi)置對象
內(nèi)置函數(shù):Built-in Functions 如print()
內(nèi)置常量:Built-in Constants 如false
內(nèi)置類型:Built-in Types
內(nèi)置異常:Built-in Exceptions
如何安裝發(fā)布第三方模塊
自己發(fā)布自己的模塊
10最好用的模塊匯總
最好用的模塊匯總
包的本質(zhì)
如上測試我們可以看出python 的設(shè)計者非常巧妙的通過__init__.py
文件將包轉(zhuǎn)成了模塊的操作。因此,可以說“包的本質(zhì)還是模塊”。
datetime模塊
datetime模塊獨立存放于Lib/datetime.py內(nèi)。
def timestamp(self):"Return POSIX timestamp as float"if self._tzinfo is None:s = self._mktime()return s + self.microsecond / 1e6else:return (self - _EPOCH).total_seconds()def utctimetuple(self):"Return UTC time tuple compatible with time.gmtime()."offset = self.utcoffset()if offset:self -= offsety, m, d = self.year, self.month, self.dayhh, mm, ss = self.hour, self.minute, self.secondreturn _build_struct_time(y, m, d, hh, mm, ss, 0)def date(self):"Return the date part."return date(self._year, self._month, self._day)def time(self):"Return the time part, with tzinfo None."return time(self.hour, self.minute, self.second, self.microsecond, fold=self.fold)
案例
from datetime import datetime,date,timeif '__main__' == __name__:print(datetime.now())today = datetime.now()print(datetime.date(today))print(datetime.time(today))print(datetime.ctime(today))print(datetime.utcnow())print(datetime.timestamp(today))#ijian chuoprint(datetime.fromtimestamp(datetime.timestamp(today))) # 根據(jù)時間戳返回UTC日期時間date1 = date(2018,2,12)time1 = time(2,6,32)print(datetime.combine(date1,time1))newDatetime = datetime.strptime("12/2/18 20:59",'%d/%m/%y %H:%M')print(newDatetime)for tv in datetime.timetuple(today):print(tv)print(today.isoformat())print(today.strftime("%Y年%m月%d日 %H:%M:%S %p"))2023-03-01 02:33:23.945916
2023-03-01
02:33:23.945916
Wed Mar 1 02:33:23 2023
2023-02-28 18:33:23.945916
1677609203.945916
2023-03-01 02:33:23.945916
2018-02-12 02:06:32
2018-02-12 20:59:00
2023
3
1
2
33
23
2
60
-1
2023-03-01T02:33:23.945916
2023年03月01日 02:33:23 AMProcess finished with exit code 0
Math模塊
import math as mt
if '__main__' == __name__:print( mt.trunc(3.6))
import math as mt
if '__main__' == __name__:print( mt.trunc(3.6))print(mt.ceil(1.5))
import math as mt
if '__main__' == __name__:print( mt.trunc(3.6))print(mt.ceil(1.5))print(round(5.3))
import math as mt
if '__main__' == __name__:a= range(3,5)print( mt.fsum(a))
import math as mt
if '__main__' == __name__:a= range(3,5)print( mt.fsum(a))print(sum(a))
import math as mt
if '__main__' == __name__:a= -6print(mt.fabs(a))
random模塊
隨機函數(shù) 正態(tài)分布、伽馬分布、貝塔分布都可以用到。
import random
if '__main__' == __name__:print( random.random())print(random.uniform(10,15))print(random.betavariate(5,3))# beta 分布
OS模塊
import os
if '__main__' == __name__:print(os.environ)print(os.getcwd())# 返回當前工作路徑字符串print(os.system('ping 127.0.0.1'))
import os
if '__main__' == __name__:print(os.environ)print(os.getcwd())# 返回當前工作路徑字符串print(os.system('ipconfig'))print(os.urandom(10)) # 執(zhí)行加密隨機函數(shù)
sys模塊
提供與python解釋器相關(guān)的一些變量和函數(shù)
Meta path import for built-in modules.All methods are either class or static methods to avoid the need toinstantiate the class.
import sys
if '__main__' == __name__:print(sys.path) # 獲取模塊文件搜索路徑的字符串sys.path[0]='d:\test'# 臨時指定新的搜索路徑print(sys.path)print(sys.platform)if sys.platform.startswith('win32'):print('調(diào)用win版本模塊文件代碼')elif sys.platform.startswith('linux'):print('調(diào)用linux')
import sys
if '__main__' == __name__:print(sys.getwindowsversion())# 獲取win版本信息
time模塊
import time
if '__main__' == __name__:time.sleep(1)# 暫停五秒print(time.perf_counter())# 獲取當前cpu時間t1 = time.perf_counter()t2= time.perf_counter()print(t2-t1)
import time
if '__main__' == __name__:time.time() # 返回從紀元開始的秒數(shù)t=time.strftime('%H:%M')print(t)
總結(jié)
自定義模塊
分為:
函數(shù)模塊文件
類模塊文件
主程序模塊文件
標準庫模塊
可以直接或者通過引用使用
比如time
用help查看time模塊
print(help(time))
常用第三方庫大匯總
環(huán)境管理 P 非常簡單的交互式python 版本管理工具 環(huán)境管理 Pyenv 簡單的Python 版本管理工具
環(huán)境管理 Vex 可以在虛擬環(huán)境中執(zhí)行命令 環(huán)境管理 Virtualenv virtualenvwrapper 創(chuàng)建獨立Python
環(huán)境的工具 包管理 pip Python 包和依賴關(guān)系管理工具 包管理 pip-tools P保證Python 包依賴關(guān)系更新的一組工具
包管理 Pipenv P Python 官方推薦的新一代包管理工具 包管理 Poetry P 可完全取代setup.py 的包管理工具
包倉庫 warehouse 下一代PyPI 包倉庫 Devpi PyPI 服務(wù)和打包/測試/分發(fā)工具
分發(fā)(打包為可執(zhí)行文件以便分發(fā)) PyInstaller 將Python 程序轉(zhuǎn)成獨立的執(zhí)行文件(跨平臺)
分發(fā)(打包為可執(zhí)行文件以便分發(fā)) Nuitka 將腳本、模塊、包編譯成可執(zhí)行文件或擴展模塊
分發(fā)(打包為可執(zhí)行文件以便分發(fā)) py2app 將Python 腳本變?yōu)楠毩④浖?#xff08;Mac OS X)
分發(fā)(打包為可執(zhí)行文件以便分發(fā)) py2exe 將Python 腳本變?yōu)楠毩④浖?#xff08;Windows)
分發(fā)(打包為可執(zhí)行文件以便分發(fā)) pynsist 一個用來創(chuàng)建Windows 安裝程序的工具,可以在安裝程序中打包Python 本身
構(gòu)建工具(將源碼編譯成軟件) Buildout 構(gòu)建系統(tǒng),從多個組件來創(chuàng)建,組裝和部署應(yīng)用
構(gòu)建工具(將源碼編譯成軟件) BitBake 針對嵌入式Linux 的類似make 的構(gòu)建工具
構(gòu)建工具(將源碼編譯成軟件) Fabricate 對任何語言自動找到依賴關(guān)系的構(gòu)建工具 交互式Python
解析器 IPython 功能豐富的工具, 非常有效的使用交互式Python 交互式Python
解析器 bpython 界面豐富的Python 解析器 交互式Python 解析器 Ptpython 高級交互式Python 解析器,
構(gòu)建于python-prompt-toolkit 之上 文件管理 Aiofiles 基于asyncio,提供文件異步操作
文件管理 Imghdr (Python 標準庫)檢測圖片類型 文件管理 Mimetypes (Python 標準庫)將文件名映射為MIME
類型 文件管理 path.py 對os.path 進行封裝的模塊 文件管理 Pathlib (Python3.4+
標準庫)跨平臺的、面向?qū)ο蟮穆窂讲僮鲙?文件管理 Unipath 用面向?qū)ο蟮姆绞讲僮魑募湍夸?br /> 文件管理 Watchdog 管理文件系統(tǒng)事件的API 和shell 工具 日期和時間 Arrow 更好的Python 日期時間操作類庫
日期和時間 Chronyk 解析手寫格式的時間和日期 日期和時間 Dateutil Python datetime 模塊的擴展
日期和時間 PyTime 一個簡單易用的Python 模塊,用于通過字符串來操作日期/時間
日期和時間 when.py 提供用戶友好的函數(shù)來幫助用戶進行常用的日期和時間操作
文本處理 chardet 字符編碼檢測器,兼容Python2 和Python3 文本處理 Difflib (Python
標準庫)幫助我們進行差異化比較 文本處理 Fuzzywuzzy 模糊字符串匹配
文本處理 Levenshtein 快速計算編輯距離以及字符串的相似度 文本處理 Pypinyin 漢字拼音轉(zhuǎn)換工具Python 版
文本處理 Shortuuid 一個生成器庫,用以生成簡潔的,明白的,URL安全的UUID 文本處理 simplejson Python
的JSON 編碼、解碼器 文本處理 Unidecode Unicode 文本的ASCII 轉(zhuǎn)換形式
文本處理 Xpinyin 一個用于把漢字轉(zhuǎn)換為拼音的庫 文本處理 Pygment 通用語法高亮工具
文本處理 Phonenumbers 解析,格式化,儲存,驗證電話號碼 文本處理 Sqlparse 一個無驗證的SQL 解析器
特殊文本格式處理 Tablib 一個用來處理中表格數(shù)據(jù)的模塊 特殊文本格式處理 Pyexcel 用來讀寫,操作Excel 文件的庫
特殊文本格式處理 python-docx 讀取,查詢以及修改word 文件 特殊文本格式處理 PDFMiner 一個用于從PDF
文檔中抽取信息的工具 特殊文本格式處理 Python-Markdown2 純Python 實現(xiàn)的Markdown 解析器
特殊文本格式處理 Csvkit 用于轉(zhuǎn)換和操作CSV 的工具 自然語言處理 NLTK 一個先進的平臺,用以構(gòu)建處理人類語言數(shù)據(jù)的Python
程序 自然語言處理 Jieba 中文分詞工具 自然語言處理 langid.py 獨立的語言識別系統(tǒng)
自然語言處理 SnowNLP 一個用來處理中文文本的庫
自然語言處理 Thulac 清華大學自然語言處理與社會人文計算實驗室研制推出的一套中文詞法分析工具包
下載器 you-get 一個YouTube/Youku/Niconico 視頻下載器 圖像處理 pillow 最常用的圖像處理庫
圖像處理 imgSeek 一個使用視覺相似性搜索一組圖片集合的項目 圖像處理 face_recognition 簡單易用的python
人臉識別 圖像處理 python-qrcode 一個純Python 實現(xiàn)的二維碼生成器 OCR Pyocr Tesseract
和Cuneiform 的一個封裝(wrapper) OCR pytesseract Google Tesseract OCR
的另一個封裝(wrapper) 音頻處理 Audiolazy Python 的數(shù)字信號處理包 音頻處理 Dejavu 音頻指紋提取和識別
音頻處理 id3reader 一個用來讀取MP3 元數(shù)據(jù)的Python 模塊 音頻處理 TimeSide 開源web 音頻處理框架
音頻處理 Tinytag 一個用來讀取MP3, OGG, FLAC 以及Wave文件音樂元數(shù)據(jù)的庫
音頻處理 Mingus 一個高級音樂理論和曲譜包,支持MIDI 文件和回放功能 視頻和GIF
處理 Moviepy 一個用來進行基于腳本的視頻編輯模塊,適用于多種格式,包括動圖GIFs 視頻和GIF
處理 scikit-video SciPy 視頻處理常用程序 地理位置 GeoDjango 世界級地理圖形web 框架
地理位置 GeoIP MaxMind GeoIP Legacy 數(shù)據(jù)庫的Python API 地理位置 Geopy Python
地址編碼工具箱 HTTP requests 人性化的HTTP 請求庫 HTTP httplib2 全面的HTTP 客戶端庫
HTTP urllib3 一個具有線程安全連接池,支持文件post,清晰友好的HTTP 庫 Python
實現(xiàn)的數(shù)據(jù)庫 pickleDB 一個簡單,輕量級鍵值儲存數(shù)據(jù)庫 Python 實現(xiàn)的數(shù)據(jù)庫 PipelineDB 流式SQL 數(shù)據(jù)庫
Python 實現(xiàn)的數(shù)據(jù)庫 TinyDB 一個微型的,面向文檔型數(shù)據(jù)庫 web 框架 Django Python 界最流行的web 框架
web 框架 Flask 一個Python 微型框架 web 框架 Tornado 一個web 框架和異步網(wǎng)絡(luò)庫 CMS
內(nèi)容管理系統(tǒng) odoo-cms 一個開源的,企業(yè)級CMS,基于odoo CMS
內(nèi)容管理系統(tǒng) djedi-cms 一個輕量級但卻非常強大的Django CMS ,考慮到了插件,內(nèi)聯(lián)編輯以及性能 CMS
內(nèi)容管理系統(tǒng) Opps 一個為雜志,報紙網(wǎng)站以及大流量門戶網(wǎng)站設(shè)計的CMS 平臺,基于Django
電子商務(wù)和支付系統(tǒng) django-oscar 一個用于Django 的開源的電子商務(wù)框架
電子商務(wù)和支付系統(tǒng) django-shop 一個基于Django 的店鋪系統(tǒng) 電子商務(wù)和支付系統(tǒng) Shoop 一個基于Django
的開源電子商務(wù)平臺 電子商務(wù)和支付系統(tǒng) Alipay Python 支付寶API
電子商務(wù)和支付系統(tǒng) Merchant 一個可以接收來自多種支付平臺支付的Django 應(yīng)用 游戲開發(fā) Cocos2d 用來開發(fā)2D 游戲
游戲開發(fā) Panda3D 由迪士尼開發(fā)的3D 游戲引擎,并由卡內(nèi)基梅隴娛樂技術(shù)中心負責維護。使用C++ 編寫, 針對Python
進行了完全的封裝 游戲開發(fā) Pygame Pygame 是一組Python 模塊,用來編寫游戲
游戲開發(fā) RenPy 一個視覺小說(visual novel)引擎 計算機視覺庫 OpenCV 開源計算機視覺庫
計算機視覺庫 Pyocr Tesseract 和Cuneiform 的包裝庫
計算機視覺庫 SimpleCV 一個用來創(chuàng)建計算機視覺應(yīng)用的開源框架
機器學習人工智能 TensorFlow 谷歌開源的最受歡迎的深度學習框架
機器學習人工智能 keras 以tensorflow/theano/CNTK 為后端的深度學習封裝庫,快速上手神經(jīng)網(wǎng)絡(luò)
機器學習人工智能 Hebel GPU 加速的深度學習庫
機器學習人工智能 Pytorch 一個具有張量和動態(tài)神經(jīng)網(wǎng)絡(luò),并有強大GPU加速能力的深度學習框架
機器學習人工智能 scikit-learn 基于SciPy 構(gòu)建的機器學習Python 模塊
機器學習人工智能 NuPIC 智能計算Numenta 平臺 科學計算和數(shù)據(jù)分析 NumPy 使用Python 進行科學計算的基礎(chǔ)包
科學計算和數(shù)據(jù)分析 Pandas 提供高性能,易用的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)分析工具
科學計算和數(shù)據(jù)分析 SciPy 用于數(shù)學,科學和工程的開源軟件構(gòu)成的生態(tài)系統(tǒng) 科學計算和數(shù)據(jù)分析 PyMC 馬爾科夫鏈蒙特卡洛采樣工具
代碼分析和調(diào)試 code2flow 把你的Python 和JavaScript 代碼轉(zhuǎn)換為流程圖
代碼分析和調(diào)試 Pycallgraph 這個庫可以把你的Python 應(yīng)用的流程(調(diào)用圖)進行可視化
代碼分析和調(diào)試 Pylint 一個完全可定制的源碼分析器 代碼分析和調(diào)試 autopep8 自動格式化Python
代碼,以使其符合PEP8規(guī)范 代碼分析和調(diào)試 Wdb 一個奇異的web 調(diào)試器,通過WebSockets工作
代碼分析和調(diào)試 Lineprofiler 逐行性能分析 代碼分析和調(diào)試 Memory Profiler 監(jiān)控Python 代碼的內(nèi)存使用
圖形用戶界面 Pyglet 一個Python 的跨平臺窗口及多媒體庫 圖形用戶界面 PyQt 跨平臺用戶界面框架Qt 的Python
綁定,支持Qt v4 和Qt v5 圖形用戶界面 Tkinter Tkinter 是Python GUI 的一個事實標準庫
圖形用戶界面 wxPython wxPython 是wxWidgets C++ 類庫和Python 語言混合的產(chǎn)物
網(wǎng)絡(luò)爬蟲和HTML分析 Scrapy 一個快速高級的屏幕爬取及網(wǎng)頁采集框架 網(wǎng)絡(luò)爬蟲和HTML分析 Cola 一個分布式爬蟲框架
網(wǎng)絡(luò)爬蟲和HTML分析 Grab 站點爬取框架 網(wǎng)絡(luò)爬蟲和HTML分析 Pyspider 一個強大的爬蟲系統(tǒng)
網(wǎng)絡(luò)爬蟲和HTML分析 html2text 將HTML 轉(zhuǎn)換為Markdown 格式文本
網(wǎng)絡(luò)爬蟲和HTML分析 python-goose HTML 內(nèi)容/文章提取器 硬件編程 Ino 操作Arduino 的命令行工具
硬件編程 Pyro Python 機器人編程庫 硬件編程 PyUserInput 跨平臺的,控制鼠標和鍵盤的模塊
硬件編程 Pingo Pingo 為類似Raspberry Pi,pcDuino, IntelGalileo 等設(shè)備提供統(tǒng)一的API
PyPI 網(wǎng)站和PIP 模塊管理工具 PyPI(Python Package Index)是python
官方的第三方庫的倉庫,所有人都可以下載第三方庫或上傳自己開發(fā)的庫到PyPI。PyPI 推薦使用pip 包管理器來下載第三方庫。 pip
是一個現(xiàn)代的,通用的Python 包管理工具。提供了對Python 包的查找、下載、安裝、卸載的功能。pip
可正常工作在Windows、Mac OS、Unix/Linux 等操作系統(tǒng)上,但是需要至少2.6+和3.2+的CPython 或PyPy
的支持。python 2.7.9 和3.4 以后的版本已經(jīng)內(nèi)置累pip 程序,所以不需要安裝。
模塊->包
拆分的模塊多了以后-----考慮建立文件夾把模塊分類存放了。
包—里面有__init__.py
文件
子文件夾里面放對應(yīng)的模塊文件
導入包模塊:
包必須安裝到python解釋器能搜索到的路徑下面
或者通過設(shè)置臨時搜索路徑來
或者放到python/Lib
下面
import package1.Cat.Cat_Main # 頂級目錄。子目錄。模塊文件
閑話
大部分人還是有一種“勤勞的守舊”觀念,也就是認為使用工具提升生產(chǎn)力是一種偷懶和投機取巧的表現(xiàn),推崇使用 vim 等高門檻和學習曲線陡峭的軟件是一種“技術(shù)能力強”,“能吃苦學習”的習慣。
實在難以理解!