python還有一個(gè)標(biāo)準(zhǔn)庫math庫,用來進(jìn)行常用的數(shù)據(jù)計(jì)算。
創(chuàng)新互聯(lián)公司始終堅(jiān)持【策劃先行,效果至上】的經(jīng)營理念,通過多達(dá)十載累計(jì)超上千家客戶的網(wǎng)站建設(shè)總結(jié)了一套系統(tǒng)有效的營銷推廣解決方案,現(xiàn)已廣泛運(yùn)用于各行各業(yè)的客戶,其中包括:混凝土攪拌站等企業(yè),備受客戶贊美。
python math模塊:
我引用別人的文章來回答:
python-科學(xué)計(jì)算1:兩個(gè)基本的模塊的安裝與測試
在網(wǎng)上看到了一本《用Python做科學(xué)計(jì)算的》的書,感覺挺有趣的,就下載下來學(xué)習(xí)了一下。
但這本書一開始就講配置環(huán)境,Python(X,Y)等東西,我覺得這個(gè)反而增加了入門的難度,倒不如一開始就用一些原始的python IDE介紹,
使讀者不覺得那么的難。我現(xiàn)在讀了25頁,要用到本書的例子,就安裝兩個(gè)模塊:NumPy,Scipy可以在 找到他倆。
「 生命完美的答案,無非走過沒有遺憾 ---《天藍(lán)》」
「如何能夠解析腳本運(yùn)行命令行選項(xiàng)(位于 sys.argv 中)」
argparse 模塊可被用來解析命令行選項(xiàng)
常用來定義一個(gè)腳本的說明文檔,一般我們寫python腳本會(huì)通過 if..else 的方式來提供一個(gè)腳本說明文檔,python不支持switch。所以很麻煩,其實(shí),我們可以通過 argparse 來編寫說明文檔。
我們來看看怎么執(zhí)行一個(gè)python腳本
對于熟悉Linux的小伙伴下面的文檔在熟悉不過了,這個(gè)一個(gè)標(biāo)準(zhǔn)Linxu軟件包的說明文檔,文檔中定義是軟件包的說明
來看看這個(gè)腳本是如何編寫的
為了解析命令行選項(xiàng), 首先要?jiǎng)?chuàng)建一個(gè) ArgumentParser 實(shí)例, 使用 add_argument() 方法聲明你想要支持的選項(xiàng)。在每個(gè) add-argument() 調(diào)用中:
dest 參數(shù)指定解析結(jié)果被指派給屬性的名字。 metavar 參數(shù)被用來生成幫助信息。
action 參數(shù) 指定跟屬性對應(yīng)的處理邏輯,通常的 值為 store , 被用來存儲(chǔ) 某個(gè)值 或?qū)?多個(gè)參數(shù)值收集到一個(gè)列表中 。
nargs 參數(shù)收集 所有剩余的命令行參數(shù)到一個(gè)列表中。在本例中它被用來構(gòu)造一個(gè)文件名列表
action='store_true' 根據(jù)參數(shù)是否存在來設(shè)置一個(gè)位置 Boolean 標(biāo)志:
action='store' 參數(shù)接受一個(gè)單獨(dú)值并將其存儲(chǔ)為一個(gè)字符串
如果一個(gè)都沒有,會(huì)提示缺少參數(shù) -p/--pat
choices={'slow', 'fast'}, 參數(shù)說明接受一個(gè)值,但是會(huì)將其和可能的選擇值做比較,以檢測其合法性:
一旦參數(shù)選項(xiàng)被指定,你就可以執(zhí)行 parser.parse() 方法了。它會(huì)處理 sys.argv 的值并返回一個(gè)結(jié)果實(shí)例。每個(gè)參數(shù)值會(huì)被設(shè)置成該實(shí)例中 add_argument() 方法的 dest 參數(shù)指定的屬性值。
還很多種其他方法解析命令行選項(xiàng)??梢詴?huì)手動(dòng)地處理 sys.argv 或者使用 getopt 模塊 。但是,如果你采用本節(jié)的方式,將會(huì)減少很多冗余代碼,底層細(xì)節(jié) argparse 模塊 已經(jīng)幫你處理好了。你可能還會(huì)碰到使用 optparse 庫解析選項(xiàng)的代碼。盡管 optparse 和 argparse 很像 ,但是后者更先進(jìn),因此在新的程序中你應(yīng)該使用它。
「你寫了個(gè)腳本,運(yùn)行時(shí)需要一個(gè)密碼。此腳本是交互式的,因此不能將密碼在腳本中硬編碼,而是需要彈出一個(gè)密碼輸入提示,讓用戶自己輸入。」
Python 的 getpass 模塊 正是你所需要的。你可以讓你很輕松地彈出密碼輸入提示,并且不會(huì)在用戶終端顯示密碼。
代碼中 getpass.getuser() 不會(huì)彈出用戶名的輸入提示。它會(huì)根據(jù)該 用戶的 shell 環(huán)境 或者會(huì)依據(jù) 本地系統(tǒng)的密碼庫 (支持 pwd 模塊的平臺(tái))來使用 當(dāng)前用戶的登錄名
在bash中編寫pytohn腳本接收外部數(shù)據(jù)的方式,一般情況下,對于一般變量,我們用命令行變量的方式比較多(手動(dòng)的處理 sys.argv ),對于 文件內(nèi)容或者bash命令輸出 直接通過腳本內(nèi)部獲取需要的數(shù)據(jù)。
其實(shí)python 腳本也可以用其他方式來接收 傳遞給他的 文件數(shù)據(jù)或者bash命令輸出 ,包括將 命令行的輸出 通過 管道傳遞 給該腳本、 重定向文件到該腳本 ,或在 命令行中傳遞一個(gè)文件名 或 文件名列表 給該腳本。
這里通過 Python 內(nèi)置的 fileinput 模塊 ,可以實(shí)現(xiàn)重 定向,管道,以文佳輸出 的方式傳遞數(shù)據(jù)到腳本內(nèi)部
使用 fileinput.input() 方法可以獲取當(dāng)前輸入腳本的數(shù)據(jù),腳本里面用一個(gè) FileInput 迭代器接收
文件直接接收
重定向接收
管道方式接收
fileinput.input() 創(chuàng)建并返回一個(gè) FileInput 類的實(shí)例,該實(shí)例可以被當(dāng)做一個(gè) 上下文管理器 使用。因此,整合起來,如果我們要寫一個(gè)打印多個(gè)文件輸出的腳本,那么我們需要在輸出中包含文件名和行號(hào)
「你想執(zhí)行一個(gè)外部命令并以 Python 字符串的形式獲取執(zhí)行結(jié)果?!?/p>
使用 subprocess.check_output() 函數(shù)。
執(zhí)行下試試
如果被執(zhí)行的命令以非零碼返回,就會(huì)拋出異常。下面的例子捕獲到錯(cuò)誤并獲取返回碼:
默認(rèn)情況下, check_output() 僅僅返回輸入到標(biāo)準(zhǔn)輸出的值。如果你需要 同時(shí)收集標(biāo)準(zhǔn)輸出和錯(cuò)誤輸出 ,使用 stderr 參數(shù):
如果你需要用一個(gè)超時(shí)機(jī)制來執(zhí)行命令,使用 timeout 參數(shù):
通常來講,命令的執(zhí)行 不需要 使用到 底層 shell 環(huán)境(比如 sh、bash) 。一個(gè)字符串列表會(huì)被傳遞給一個(gè) 低級(jí)系統(tǒng)命令 ,比如 os.execve() 。
如果你想讓 命令被一個(gè)shell 執(zhí)行 ,傳遞一個(gè)字符串參數(shù),并設(shè)置參數(shù) shell=True . 有時(shí)候你想要 Python 去執(zhí)行一個(gè)復(fù)雜的 shell 命令 的時(shí)候這個(gè)就很有用了,比如管道流、I/O 重定向和其他特性。例如:
是在 shell 中執(zhí)行命令會(huì)存在一定的安全風(fēng)險(xiǎn),特別是當(dāng)參數(shù)來自于用戶輸入時(shí)。這時(shí)候可以使用 shlex.quote() 函數(shù) 來將參數(shù)正確的用雙引用引起來。
使用 check_output() 函數(shù) 是執(zhí)行 外部命令 并獲取其 返回值 的最簡單方式。但是,如果你需要對 子進(jìn)程做更復(fù)雜的交互 ,比如給它發(fā)送輸入,你得采用另外一種方法。這時(shí)候可直接使用 subprocess.Popen 類。
關(guān)于子進(jìn)程,簡單來看下
也可以進(jìn)程列表同協(xié)程結(jié)合的方式。你既可以在子shell中 進(jìn)行繁重的處理工作,同時(shí)也不會(huì)讓子shell的I/O受制于終端。
如果直接丟到后臺(tái)會(huì)自動(dòng)在終端輸出IO
subprocess 模塊對于依賴 TTY 的外部命令不合適用 。例如,你不能使用它來自動(dòng)化一個(gè)用戶輸入密碼的任務(wù)(比如一個(gè) ssh 會(huì)話)。這時(shí)候,你需要使用到第三方模塊了,比如基于著名的 expect 家族的工具(pexpect 或類似的)(pexpect可以理解為Linux下的expect的Python封裝、通過pexpect可以實(shí)現(xiàn)對ssh、ftp、passwd、telnet等命令行進(jìn)行自動(dòng)交互,而無需人工干涉來達(dá)到自動(dòng)化的目的。比如我們可以模擬一個(gè)FTP登錄時(shí)所有交互,包括輸入主機(jī)地址、用戶名、密碼、上傳文件等,待出現(xiàn)異常還可以進(jìn)行嘗試自動(dòng)處理。)
「你想向標(biāo)準(zhǔn)錯(cuò)誤打印一條消息并返回某個(gè)非零狀態(tài)碼來終止程序運(yùn)行」
通過 python 的 raise SystemExit(3) 命令可以主動(dòng)拋出一個(gè)錯(cuò)誤,通過 sys.stderr.write 將命令寫到標(biāo)準(zhǔn)的輸出端
直接將消息作為參數(shù)傳給 SystemExit() ,那么你可以省略其他步驟
拋出一個(gè) SystemExit 異常,使用錯(cuò)誤消息作為參數(shù),它會(huì)將消息在 sys.stderr 中打印,然后程序以狀態(tài)碼 1 退出
「你需要知道當(dāng)前終端的大小以便正確的格式化輸出?!?/p>
使用 os.get terminal size() 函數(shù) 來做到這一點(diǎn)。
「復(fù)制或移動(dòng)文件和目錄,但是又不想調(diào)用 shell 命令。」
shutil 模塊 有很多便捷的函數(shù)可以復(fù)制文件和目錄。使用起來非常簡單
這里不多講,熟悉Linux的小伙伴應(yīng)該不陌生。
默認(rèn)情況下,對于 符號(hào)鏈接 這些命令處理的是它指向的東西文件。例如,如果 源文件 是一個(gè) 符號(hào)鏈接 ,那么目標(biāo)文件將會(huì)是 符號(hào)鏈接 指向的文件。如果你只想 復(fù)制符號(hào)鏈接本身 ,那么需要指定 關(guān)鍵字 參數(shù) follow_symlinks
copytree() 可以讓你在復(fù)制過程中選擇性的忽略某些文件或目錄。你可以提供一個(gè)忽略函數(shù),接受一個(gè)目錄名和文件名列表作為輸入,返回一個(gè)忽略的名稱列表。例如:
對于文件元數(shù)據(jù)信息, copy2() 這樣的函數(shù)只能盡自己最大能力來保留它。 訪問時(shí)間、創(chuàng)建時(shí)間和權(quán)限 這些基本信息會(huì)被保留,但是 對于所有者、ACLs、資源 fork 和其他更深層次的文件元信息就說不準(zhǔn)了
通常不會(huì)去使用 shutil.copytree() 函數(shù) 來執(zhí)行 系統(tǒng)備份 。當(dāng)處理文件名的時(shí)候,最好使用 os.path 中的函數(shù)來確保最大的可移植性
使用 copytree() 復(fù)制文件夾的一個(gè)棘手的問題是對于錯(cuò)誤的處理,可以使用異常塊處理,或者通過 參數(shù) ignore dangling symlinks=True 忽略掉無效符號(hào)鏈接。
「創(chuàng)建或解壓常見格式的歸檔文件(比如.tar, .tgz 或.zip)」
shutil 模塊擁有兩個(gè)函數(shù)—— make archive() 和 unpack archive() 可派上用場,
make archive() 的第二個(gè)參數(shù)是期望的輸出格式。可以使用 get archive formats() 獲取所有支持的歸檔格式列表。
「你需要寫一個(gè)涉及到文件查找操作的腳本,比如對日志歸檔文件的重命名工具,你不想在 Python 腳本中調(diào)用 shell,或者你要實(shí)現(xiàn)一些 shell 不能做的功能。」
查找文件,可使用 os.walk() 函數(shù) ,傳一個(gè)頂級(jí)目錄名給它
os.walk() 方法 為我們 遍歷目錄樹 ,每次進(jìn)入一個(gè)目錄,它會(huì)返回一個(gè) 三元組 ,包含 相對于查找目錄的相對路徑,一個(gè)該目錄下的目錄名列表,以及那個(gè)目錄下面的文件名列表。
對于每個(gè)元組,只需檢測一下目標(biāo)文件名是否在文件列表中。如果是就使用 os.path.join() 合并路徑。為了避免奇怪的路徑名比如 ././foo//bar ,使用了另外兩個(gè)函數(shù)來修正結(jié)果
os.walk(start) 還有跨平臺(tái)的優(yōu)勢。并且,還能很輕松的加入其他的功能。我們再演示一個(gè)例子,下面的函數(shù)打印所有最近被修改過的文件:
打印10分鐘之前被修改的數(shù)據(jù)
「怎樣讀取普通.ini 格式的配置文件?」
configparser 模塊 能被用來讀取配置文件
編寫配置文件
如果有需要,你還能修改配置并使用 cfg.write() 方法將其寫回到文件中
「你希望在腳本和程序中將診斷信息寫入日志文件?!?/p>
python 腳本打印日志最簡單方式是使用 logging 模塊
五個(gè)日志調(diào)用( critical(), error(), warning(), info(), debug() )以降序方式表示不同的嚴(yán)重級(jí)別。 basicConfig() 的 level 參數(shù)是一個(gè) 過濾器 。所有級(jí)別低于此級(jí)別的日志消息都會(huì)被忽略掉。每個(gè) logging 操作的參數(shù)是一個(gè)消息字符串,后面再跟一個(gè)或多個(gè)參數(shù)。構(gòu)造最終的日志消息的時(shí)候我們使用了 % 操作符來格式化消息字符串。
如果你想使用配置文件,可以像下面這樣修改 basicConfig() 調(diào)用:
logconfig.ini
在調(diào)用日志操作前先執(zhí)行下 basicConfig() 函數(shù)方法 ,可以找標(biāo)準(zhǔn)輸出或者文件中輸出
basicConfig() 在程序中只能被執(zhí)行一次。如果你稍后想改變?nèi)罩九渲茫托枰全@取 root logger ,然后直接修改它。
更多見日志模塊文檔
「你想給某個(gè)函數(shù)庫增加日志功能,但是又不能影響到那些不使用日志功能的程序?!?/p>
對于想要執(zhí)行日志操作的函數(shù)庫,你應(yīng)該創(chuàng)建一個(gè)專屬的 logger 對象,并且像下面這樣初始化配置:
使用這個(gè)配置,默認(rèn)情況下不會(huì)打印日志,只有配置過日志系統(tǒng),那么日志消息打印就開始生效
通常來講,不應(yīng)該在函數(shù)庫代碼中 自己配置日志系統(tǒng) ,或者是已經(jīng)有個(gè)已經(jīng)存在的日志配置了。調(diào)用 getLogger( name ) 創(chuàng)建一個(gè)和調(diào)用模塊同名的 logger 模塊 。由于 模塊 都是唯一的,因此創(chuàng)建的 logger 也將是唯一 的。所以當(dāng)前進(jìn)程中只有一個(gè)logging會(huì)生效。
log.addHandler(logging.NullHandler()) 操作將一個(gè) 空處理器 綁定到剛剛已經(jīng)創(chuàng)建好的 logger 對象 上。一個(gè)空處理器默認(rèn)會(huì)忽略調(diào)用所有的日志消息。因此,如果使用該函數(shù)庫的時(shí)候還沒有配置日志,那么將不會(huì)有消息或警告出現(xiàn)。
在這里,根日志被配置成僅僅 輸出 ERROR 或更高級(jí)別的消息 。不過, somelib 的日志級(jí)別被單獨(dú)配置成可以輸出 debug 級(jí)別的消息, 它的優(yōu)先級(jí)比全局配置高。像這樣更改單獨(dú)模塊的日志配置對于調(diào)試來講是很方便的,因?yàn)槟銦o需去更改任何的全局日志配置——只需要修改你想要更多輸出的模塊的日志等級(jí)。(這個(gè)還有待研究)
「你想記錄程序執(zhí)行多個(gè)任務(wù)所花費(fèi)的時(shí)間」
time 模塊 包含很多函數(shù)來執(zhí)行跟時(shí)間有關(guān)的函數(shù)。盡管如此,通常我們會(huì)在此基礎(chǔ)之上構(gòu)造一個(gè)更高級(jí)的接口來模擬一個(gè)計(jì)時(shí)器。
這個(gè)類定義了一個(gè)可以被用戶根據(jù)需要啟動(dòng)、停止和重置的計(jì)時(shí)器。它會(huì)在elapsed 屬性中記錄整個(gè)消耗時(shí)間。下面是一個(gè)例子來演示怎樣使用它:
這里通過 __enter__,__exit__ ,使用 with 語句 以及上下文管理器協(xié)議可以省略計(jì)時(shí)器打開和關(guān)閉操作。(關(guān)于上下文管理協(xié)議,即with語句,為了讓一個(gè)對象兼容with語句,必須在這個(gè)對象的類中聲明 __enter__和__exit__方法, , __enter__ 在出現(xiàn)with語句被調(diào)用, __exit__ 在代碼執(zhí)行完畢被調(diào)用,可以參考o(jì)pen()方法)
在計(jì)時(shí)中要考慮一個(gè) 底層的時(shí)間函數(shù)問題 。 一般來說, 使用 time.time() 或 time.clock() 計(jì)算的時(shí)間精度因操作系統(tǒng)的不同會(huì)有所不同。而使用 time.perf_counter() 函數(shù)可以確保使用系統(tǒng)上面 最精確的計(jì)時(shí)器 。
「你想對在 Unix 系統(tǒng)上面運(yùn)行的程序設(shè)置內(nèi)存或 CPU 的使用限制?!?/p>
resource 模塊 能同時(shí)執(zhí)行這兩個(gè)任務(wù)。例如,要限制 CPU 時(shí)間,下面的代碼在windows平臺(tái)執(zhí)行不了,但是Linux是可以的。
程序運(yùn)行時(shí), SIGXCPU 信號(hào) 在時(shí)間過期時(shí)被生成,然后執(zhí)行清理并退出。
這暫時(shí)沒有好的Demo...
程序運(yùn)行到?jīng)]有多余內(nèi)存時(shí)會(huì)拋出 MemoryError 異常。
setrlimit() 函數(shù) 被用來設(shè)置特定資源上面的 軟限制和硬限制 。
setrlimit() 函數(shù) 還能被用來設(shè)置 子進(jìn)程數(shù)量、打開文件數(shù)以及類似系統(tǒng)資源的限制(cgroup) 。
「通過腳本啟動(dòng)瀏覽器并打開指定的 URL 網(wǎng)頁」
webbrowser 模塊 能被用來啟動(dòng)一個(gè)瀏覽器,并且與平臺(tái)無關(guān)
新窗口打卡網(wǎng)站
當(dāng)前窗口打開一個(gè)tab頁
指定瀏覽器類型,可以使用 webbrowser.get() 函數(shù)
from functools import reduce
def mycos(x, n = 10):
s = 0
for i in range(n):
s += (-1) ** i * x ** (2 * i) / fac(2 * i)
return s
def fac(n):
if n == 0:
return 1
else:
return reduce((lambda x, y: x * y), range(1, n + 1))
程序縮進(jìn)如圖所示
學(xué)習(xí)Python庫,首先要知道Python庫有哪些功能與作用,再了解如何去使用,掌握使用語法,然后再實(shí)踐,多多使用就可以掌握了,以下是十大比較受歡迎的機(jī)器學(xué)習(xí)庫:
1. Pipenv
Pipenv 是 Kenneth Reitz 的業(yè)余項(xiàng)目,旨在將其他軟件包(例如 npm 和 yarn)整合到 Python 里。它不需要安裝 virtualenv, virtualenvwrapper,不用管理 requirements.txt 文件,并且不用確保依賴版本的可復(fù)現(xiàn)性。通過 Pipenv,你可以在 Pipfile 中指定依賴項(xiàng)。該工具可生成一個(gè) Pipfile.lock 文件,使你的構(gòu)建更具確定性,避免產(chǎn)生難以查找的 Bug。
2.PyTorch
PyTorch是Facebook深度學(xué)習(xí)框架,源于 Torch 框架,同時(shí)改善了 Torch 框架,基于ython 語言,由于實(shí)現(xiàn)了動(dòng)態(tài)計(jì)算圖范式, PyTorch 已經(jīng)成為眾多研究人員的首選框架之一,可以計(jì)算梯度,而且非??欤蓴U(kuò)展性強(qiáng)。
3. Caffe2
Caffe2 支持分布式訓(xùn)練、部署(即使是在移動(dòng)平臺(tái)上),新的 CPU 和支持 CUDA 的硬件。PyTorch 可能更適合做研究,而 Caffe2 更加適合大規(guī)模部署,就像在 Facebook 上看到的那樣。另外,你可以在 PyTorch 里構(gòu)建并訓(xùn)練模型,同時(shí)用 Caffe2 部署。
4. Pendulum
Pendulum 的優(yōu)勢之一在于,它是 Python 標(biāo)準(zhǔn) datetime 替代品,因此你可以輕松地將其與現(xiàn)有的代碼集成,并且在你需要的時(shí)候才使用它的功能。Pendulum 的作者特別注意時(shí)間分區(qū)的處理,默認(rèn)在每個(gè)實(shí)例中時(shí)間分區(qū)是可用的,并且以 UTC 計(jì)時(shí)。你也可以獲得擴(kuò)展 timedelta 來簡化 datetime 的計(jì)算。
5. Dash
Dash 是一個(gè)可構(gòu)建 Web 應(yīng)用,尤其是數(shù)據(jù)可視化 Web 應(yīng)用的純 Python 開源庫。它建立在 Flask、Plotly 和 React 之上,并提供這幾個(gè)框架的函數(shù)抽象接口,從而開發(fā)者不必學(xué)習(xí)這些框架,高效開發(fā)。這些應(yīng)用程序可在瀏覽器和移動(dòng)設(shè)備中使用。
6. PyFlux
PyFlux 是專門針對時(shí)間序列開發(fā)的 Python 開源庫。時(shí)間序列研究是統(tǒng)計(jì)學(xué)和經(jīng)濟(jì)學(xué)的子領(lǐng)域,其目的是用于描述時(shí)間序列的行為,同時(shí)也預(yù)測時(shí)序未來的行為狀態(tài)。
7. Fire
Fire 是一個(gè)開源庫,可以為任何 Python 項(xiàng)目自動(dòng)生成一個(gè)命令行界面。你幾乎不需要編寫任何代碼或者文檔,你只需要調(diào)用一個(gè) Fire 方法并把它傳遞給你想要的命令行界面:一個(gè)函數(shù)、一個(gè)對象、一個(gè)類、一個(gè)庫,甚至不傳遞任何參數(shù)。
8. imbalanced-learn
imbalanced-learn 是一個(gè) Python 庫,它提供了相關(guān)的技術(shù)來解決數(shù)據(jù)不平衡的問題。另外,它和 scikit-learn 兼容,并且是 scikit-learn-contrib 項(xiàng)目的一部分,非常有用。
9. FlashText
FlashText 證明了算法和數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)的重要性,即使對于簡單的問題,更好的算法也能夠輕松超越在快 CPU 上運(yùn)行的樸素實(shí)現(xiàn)。
10. Luminoth
Luminoth 是一個(gè)用 TensorFlow 和 Sonnet 構(gòu)建的開源的計(jì)算機(jī)視覺 Python 工具包。它可直接支持物體檢測,背后支持的模型是 Faster R-CNN。
也可以用python自帶的安裝工具,pip install numpy scipy 等。如果沒有pip的話,可以試試easy-install numpy scipy。打開cmd,在里面輸入這些命令。 不想自己一個(gè)一個(gè)裝的話,最簡單的方法是安裝python(x,y)套裝,也可以考慮enthought套裝
這個(gè)名稱聽起來很奇怪,但是在字符串匹配方面,F(xiàn)uzzyWuzzy是一個(gè)非常有用的庫。
它可以方便地實(shí)現(xiàn)字符串匹配率等操作。
它還可以方便地匹配保存在不同數(shù)據(jù)庫中的記錄。
本文名稱:python編寫函數(shù)庫,python各種常用函數(shù)及庫
URL標(biāo)題:http://chinadenli.net/article14/heesde.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、網(wǎng)站內(nèi)鏈、品牌網(wǎng)站制作、軟件開發(fā)、Google、App開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)