久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Python 代碼轉(zhuǎn) Latex 公式,,這個(gè)開源庫(kù)用一行代碼幫你搞定

 黃爸爸好 2020-11-23

轉(zhuǎn)自 | 機(jī)器之心

數(shù)學(xué)是數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)的重要基礎(chǔ),,數(shù)學(xué)運(yùn)算的結(jié)果對(duì)于機(jī)器學(xué)習(xí)項(xiàng)目而言是至關(guān)重要的。在編寫代碼時(shí),,我們常常需要定義數(shù)學(xué)公式的計(jì)算形式,。像 S=r^2 這樣簡(jiǎn)單的數(shù)學(xué)公式,大概不會(huì)出現(xiàn)拼寫錯(cuò)誤,。但如果是下面這樣的公式呢,?

還記得數(shù)學(xué)老師密密麻麻的板書嗎?人們習(xí)慣于手寫公式的運(yùn)算過(guò)程,。而如果計(jì)算機(jī)編程語(yǔ)言能夠顯示出類似于手寫公式的計(jì)算過(guò)程,,檢查公式運(yùn)算是否準(zhǔn)確就可以輕松多了吧。

近日,,GitHub 上一個(gè)名叫 handcalcs 的開源庫(kù)就解決了這個(gè)問(wèn)題,。

項(xiàng)目地址:https://github.com/connorferster/handcalcs

handcalcs 庫(kù):將 Python 計(jì)算代碼轉(zhuǎn)換為 Latex 公式

handcalcs 庫(kù)可將 Python 計(jì)算代碼自動(dòng)渲染為 Latex 公式,呈現(xiàn)方式類似于手寫的公式計(jì)算:先編寫符號(hào)公式,,再代入具體數(shù)字,,最后得出結(jié)果。

正如上面的演示樣例所示,,計(jì)算機(jī)能夠識(shí)別的公式形式是:

而人們更習(xí)慣的是如下形式的數(shù)學(xué)公式:

handcalcs 的功能就是,,將數(shù)學(xué)公式和運(yùn)算過(guò)程以人們更容易理解的形式展示出來(lái)。

數(shù)學(xué)計(jì)算的結(jié)果往往會(huì)影響后續(xù)代碼的運(yùn)行過(guò)程,,而復(fù)雜的數(shù)學(xué)公式更容不得一點(diǎn)錯(cuò)漏,,因此對(duì)于包含較多復(fù)雜數(shù)學(xué)公式的 Python 代碼,用 handcalcs 進(jìn)行自查或許是有必要的,。

如何使用 handcalcs,?

那么,這個(gè)開源庫(kù)要如何應(yīng)用呢,?

基本用法 1:Jupyter 單元格魔法函數(shù)

handcalcs 的設(shè)計(jì)初衷是在 Jupyter Notebook 或 Jupyter Lab 中作為單元格魔法函數(shù)來(lái)使用。

首先,,引入 handcalcs 模塊并運(yùn)行單元格:

import handcalcs.render

接下來(lái),,在想要使用 handcalcs 的單元格上面添加一行魔法函數(shù) %%render:

%%render

例如:

%%rendera = 2b = 3c = 2*a + b/3

如果系統(tǒng)安裝了 Latex 環(huán)境,,你還可以將 notebook 導(dǎo)出成 pdf 格式文件。

基本用法 2:函數(shù)裝飾器 @handcalc()

除了在 Jupyter cell 中使用外,,在 Python 的函數(shù)中也可以使用 handcalcs,。

首先導(dǎo)入 @handcalc() 裝飾器:

from handcalcs.decorator import handcalc

然后編寫函數(shù)。注意:函數(shù)必須 return locals():

@handcalc()def my_calc(x, y, z): a = 2*x / y b = 3*a c = (a + b) / z return locals()
@handcalc(left: str = '', right: str = '', jupyter_display: bool = False)

返回一個(gè)由 (latex_code: str, locals: dict) 組成的元組,,其中 locals 是函數(shù)命名空間范圍內(nèi)所有變量的字典,。

其他功能

有些公式的參數(shù)量較多,如果按照常規(guī)的格式顯示在一列,,會(huì)浪費(fèi)大量空間,。而使用 handcalcs,只需添加注釋標(biāo)簽# Parameters 就能讓參數(shù)以三列的形式顯示出來(lái):

而有些公式的計(jì)算過(guò)程非常繁瑣,,也會(huì)占用大量顯示空間,,只需使用標(biāo)簽# Short 就能讓運(yùn)算過(guò)程的顯示行數(shù)減少:

反之,如果你比較喜歡推導(dǎo)等式對(duì)齊的方式,,可以使用# Long 標(biāo)簽顯示,。

有時(shí)你并不需要代入數(shù)值計(jì)算,只需要以符號(hào)的形式顯示數(shù)學(xué)計(jì)算公式,。那么,,你需要使用# Symbolic 標(biāo)簽:

handcalcs 的功能本身還可以解決編程中的小問(wèn)題,即在 Python 中,,顯示多個(gè)變量的值通常需要多個(gè) print() 語(yǔ)句,,而使用 handcalcs 能讓事情變得簡(jiǎn)單許多:

很多開發(fā)者喜歡用_表示公式中的下標(biāo),handcalcs 可以將其顯示出來(lái),,甚至多級(jí)下標(biāo)也可以通過(guò)嵌套的形式得到顯示,。

數(shù)學(xué)公式中經(jīng)常出現(xiàn)希臘字母(如「pi」、「eta」等),,只要在代碼中編寫出對(duì)應(yīng)的英文名,,比如 alpha、beta,,handcalcs 就可以顯示出希臘字母:

不只是簡(jiǎn)單的數(shù)學(xué)公式,,復(fù)雜公式也不在話下,比如含有積分的公式:

缺陷

雖然用處多多,,但項(xiàng)目作者表示,,handcalcs 仍存在一些小缺陷。

首先,,handcalcs 并不適用于 collections 這種數(shù)據(jù)類型,,例如 list、tuple,、dict 等,。

其次是在變量名方面,,handcalcs 是針對(duì) Jupyter 環(huán)境設(shè)計(jì)的。如果在 notebook 上重復(fù)使用變量名,,則可能導(dǎo)致錯(cuò)誤的數(shù)學(xué)運(yùn)算,。

handcalcs 雖然有些小瑕疵,但它對(duì)開發(fā)者而言頗有幫助,。感興趣的話,,快來(lái)動(dòng)手試一下吧!


關(guān)于程序員大白

程序員大白是一群哈工大,,東北大學(xué),,西湖大學(xué)和上海交通大學(xué)的碩士博士運(yùn)營(yíng)維護(hù)的號(hào),大家樂(lè)于分享高質(zhì)量文章,,喜歡總結(jié)知識(shí),!

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多