python中 s是什么意思_python – “S”在同情中意味着什么
有一點(diǎn)混亂,因?yàn)镾實(shí)際上是兩件事.
首先是SingletonRegistry. SymPy中的幾個(gè)類經(jīng)常出現(xiàn),它們是單例化的,也就是說(shuō),使用一些元編程,它們只能被實(shí)例化一次.例如,每次創(chuàng)建Integer(0)時(shí),這將返回相同的實(shí)例Zero.所有單例實(shí)例都是S對(duì)象的屬性,因此Integer(0)也可以作為S.Zero訪問(wèn).
單一化有兩個(gè)優(yōu)點(diǎn):它可以節(jié)省內(nèi)存,并且可以進(jìn)行快速比較.它節(jié)省了內(nèi)存,因?yàn)闊o(wú)論單例化對(duì)象在內(nèi)存中的表達(dá)式中出現(xiàn)多少次,它們都指向內(nèi)存中的相同單個(gè)實(shí)例.快速比較來(lái)自于您可以使用的是比較Python中的精確實(shí)例(通常,您需要使用==來(lái)比較事物).因此,您可以測(cè)試一個(gè)是S.Zero來(lái)檢查a是否是Integer(0)實(shí)例.
在大多數(shù)情況下,某些對(duì)象是單例化的這一事實(shí)是一個(gè)您不必?fù)?dān)心的實(shí)現(xiàn)細(xì)節(jié). S對(duì)最終用戶的主要優(yōu)點(diǎn)是可以方便地訪問(wèn)難以輸入的某些實(shí)例,如S.Half(而不是Rational(1,2))或S.true(旁注:S.true是SymPy版本的True.與True不同,它不是int的子類,所以你可以寫(xiě)像~S.true(不是真的)這樣的東西,它會(huì)給出S.false(與?的對(duì)比,它給出-2,這是’t false作為布爾值).
第二件事是同情的捷徑. sympify是將Python對(duì)象(如int(1))轉(zhuǎn)換為SymPy對(duì)象(如Integer(1))的函數(shù).它還將表達(dá)式的字符串形式轉(zhuǎn)換為SymPy表達(dá)式,如sympify(x ** 2) – >符號(hào)( “X”)** 2. S(1)與sympify(1)相同(基本上,S .__ call__已被定義為呼叫同意).
這是為了方便,因?yàn)镾是單個(gè)字母.它主要用于定義有理數(shù).考慮像x 1/2這樣的表達(dá)式.如果你直接在Python中輸入它,它將評(píng)估1/2并給出0.5(或者在Python 2中僅為0,因?yàn)檎麛?shù)除法),因?yàn)閮蓚€(gè)參數(shù)都是整數(shù).但是,在SymPy中,通常需要兩個(gè)整數(shù)的商來(lái)給出一個(gè)精確的有理數(shù). Python的評(píng)估工作方式,操作符的至少一方需要成為SymPy評(píng)估接管的SymPy對(duì)象.你可以把它寫(xiě)成x Rational(1,2),但是這更多的是打字.較短的版本是x S(1)/ 2.由于S(1)返回Integer(1),因此除法將返回一個(gè)Rational類型,因?yàn)樗鼘⒄{(diào)用Integer .__ div __,它知道如何返回Rational.
總結(jié)
以上是生活随笔為你收集整理的python中 s是什么意思_python – “S”在同情中意味着什么的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linux命令速查手册_干货| 有了这个
- 下一篇: 计算机二级python分值_计算机二级p