- Python 3.7從零開始學(xué)
- 劉宇宙
- 758字
- 2019-12-06 14:02:21
2.5 表達(dá)式
表達(dá)式是值、變量和操作符的組合。單獨(dú)一個(gè)值可以看作表達(dá)式,單獨(dú)的變量也可以看作表達(dá)式。
這個(gè)怎么理解呢?小萌不解地看著這么短短一條語(yǔ)句,腦袋怎么都拐不過(guò)彎。“今天的午餐真不錯(cuò)”,原來(lái)是小智,小萌突然來(lái)了精神,可以向小智請(qǐng)教啊。
“小智,中午好,能幫我看看這個(gè)怎么理解嗎?”小智過(guò)去看了看,思考了一下,給小萌做了如下講解。
表達(dá)式和語(yǔ)句一般不容易區(qū)分,很多人會(huì)將兩者混在一起。那么語(yǔ)句和表達(dá)式之間有什么區(qū)別呢?
表達(dá)式是某事,語(yǔ)句就是做某事,也就是告訴計(jì)算機(jī)做什么。比如3*3是9,print(3*3)輸出也是9。區(qū)別在哪里呢?我們?cè)诮换ツJ较螺斎肴缦拢?/p>
>>> 3*3 9 >>> print(3*3) 9
在交互模式下,結(jié)果都是一樣的。這是因?yàn)榻忉屍骺偸禽敵鏊斜磉_(dá)式的值(內(nèi)部都使用相同的函數(shù)對(duì)結(jié)果進(jìn)行呈現(xiàn),后面會(huì)有詳細(xì)介紹)。一般情況下,Python不會(huì)這么做,畢竟3*3這樣的表達(dá)式不能做什么有趣的事情,而編寫print(3*3)會(huì)有一個(gè)顯式的輸出結(jié)果9。
語(yǔ)句和表達(dá)式之間的區(qū)別在賦值時(shí)表現(xiàn)得更加明顯。因?yàn)檎Z(yǔ)句不是表達(dá)式,所以沒(méi)有值可供交互式解釋器輸出。比如在交互模式下輸入如下:
>>> a=100 >>> >>> 10*10 100
從輸入結(jié)果可以看到,賦值語(yǔ)句輸入完成后,下面立刻出現(xiàn)了新的提示輸入符。表達(dá)式輸入完成后,下面立刻得到了結(jié)果。不過(guò)對(duì)于賦值語(yǔ)句,有些東西已經(jīng)變了,變量a現(xiàn)在綁定了一個(gè)值100。
這個(gè)是語(yǔ)句特性的一般定義:它們改變了事物。比如,賦值語(yǔ)句改變了變量,print語(yǔ)句改變了屏幕顯示的內(nèi)容。
賦值語(yǔ)句可能是所有計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言中最重要的語(yǔ)句類型,盡管現(xiàn)在還難以說(shuō)清賦值語(yǔ)句的重要性。變量就像臨時(shí)的“存儲(chǔ)器”(就像廚房中的鍋碗瓢盆一樣),強(qiáng)大之處在于,在操作變量時(shí)并不需要知道存儲(chǔ)了什么值。比如,即使不知道x和y的值到底是多少,也會(huì)知道x*y的結(jié)果就是x和y的乘積。所以,可以通過(guò)多種方法使用變量,而不需要知道在程序運(yùn)行時(shí),最終存儲(chǔ)的值是什么。
- Go Web編程
- Spring Boot 2實(shí)戰(zhàn)之旅
- Vue.js 3.x快速入門
- PyQt從入門到精通
- JavaScript Unlocked
- 網(wǎng)頁(yè)設(shè)計(jì)與制作教程(HTML+CSS+JavaScript)(第2版)
- Mastering Ubuntu Server
- ExtJS高級(jí)程序設(shè)計(jì)
- 多模態(tài)數(shù)據(jù)分析:AGI時(shí)代的數(shù)據(jù)分析方法與實(shí)踐
- Scala編程實(shí)戰(zhàn)
- Python數(shù)據(jù)可視化之美:專業(yè)圖表繪制指南(全彩)
- PHP項(xiàng)目開發(fā)全程實(shí)錄(第4版)
- UML基礎(chǔ)與Rose建模實(shí)用教程(第三版)
- Real-time Analytics with Storm and Cassandra
- Ionic Framework By Example