- Python物理建模初學(xué)者指南(第2版)
- (美)杰西·M.金德 (美)菲利普·納爾遜
- 692字
- 2025-05-19 16:00:19
1.1.3 a=a+1
的意思
要讓計(jì)算機(jī)執(zhí)行算法,必須先用編程語言表達(dá)出來。在開始階段,計(jì)算機(jī)編程中使用的命令可能會(huì)令人困惑,尤其是當(dāng)這些命令與標(biāo)準(zhǔn)的數(shù)學(xué)用法相矛盾時(shí)。例如,許多編程語言(包括Python)都接受以下語句:
1 a = 100 2 a = a + 1
在數(shù)學(xué)上,這毫無道理。第2行是一個(gè)永遠(yuǎn)錯(cuò)誤的斷言。等價(jià)地說,它是一個(gè)沒有解的方程。然而,對于Python,“=
”不是相等性判斷,而是要執(zhí)行的指令。這些語句大致有以下含義[2]:
[2] 附錄F給出了Python內(nèi)部關(guān)于賦值語句處理的精確信息。
(1)將整數(shù)對象(值為100)賦給名稱a
(即變量)。
(2)取出對象a
的值。計(jì)算該值與1的和。將結(jié)果賦值給名稱a
,并丟棄以前存儲(chǔ)在名稱a
下的內(nèi)容。
換句話說,上述等號的作用是指示Python更改其狀態(tài)。而在數(shù)學(xué)符號中,等號的作用是判斷命題真假,命題可能為真,也可能為假。另外,還要注意,Python對命令x=y
的左右兩側(cè)有不同的處理,而在數(shù)學(xué)中,等號是對稱的。例如,如果你輸入b+1=a
, Python將給出一條錯(cuò)誤消息。賦值語句的左側(cè)必須是一個(gè)名稱,否則右側(cè)求值的結(jié)果無法賦值給左側(cè)。
我們經(jīng)常需要檢查變量是否等于某個(gè)特定值。為了避免賦值和等號二者之間的歧義,Python使用雙等號表示相等關(guān)系:
1 a = 1 2 a == 0 3 b = (a == 1)
這段代碼再次創(chuàng)建變量a
,并將一個(gè)數(shù)值賦給它。然后將該數(shù)值與0比較。最后,創(chuàng)建第二個(gè)變量b
,并在執(zhí)行另一次比較后為其賦予一個(gè)邏輯值(True
或False
)。該值可以在或然代碼中使用,我們將在后面看到。
當(dāng)需要==
(相等性判斷)時(shí),不要使用=
(賦值操作)。
對于編程的初學(xué)者來說,這是一個(gè)常見的錯(cuò)誤。如果發(fā)生此錯(cuò)誤,你可能會(huì)得到不可思議的結(jié)果,因?yàn)?code>=和==
都是合法的Python語法。然而,具體到任何特定的情況,只有一個(gè)結(jié)果是你想要的。
- Mastering RabbitMQ
- Rust編程:入門、實(shí)戰(zhàn)與進(jìn)階
- Visual FoxPro程序設(shè)計(jì)教程
- Software Testing using Visual Studio 2012
- 人臉識(shí)別原理及算法:動(dòng)態(tài)人臉識(shí)別系統(tǒng)研究
- Mastering LibGDX Game Development
- 深度學(xué)習(xí):算法入門與Keras編程實(shí)踐
- Yocto for Raspberry Pi
- The HTML and CSS Workshop
- 前端HTML+CSS修煉之道(視頻同步+直播)
- Windows Phone 7.5:Building Location-aware Applications
- SQL Server 2008中文版項(xiàng)目教程(第3版)
- INSTANT Apache ServiceMix How-to
- HTML5/CSS3/JavaScript技術(shù)大全
- Eclipse開發(fā)(學(xué)習(xí)筆記)