Python 語句的表達(dá)式和縮進(jìn)
一、Python 中的語句
1.1什么是聲明?
Python
中的語句是 Python 解釋器可以讀取和執(zhí)行的邏輯指令。在 Python
中,它可以是表達(dá)式或賦值語句。
賦值語句是 Python
的基礎(chǔ)。它定義了表達(dá)式創(chuàng)建和保存對(duì)象的方式。
1.2什么是表達(dá)式
表達(dá)式是一種類型的 Python 語句,它包含數(shù)字、字符串、對(duì)象和運(yùn)算符的邏輯序列。值本身是一個(gè)有效的表達(dá)式,變量也是如此。
使用表達(dá)式,我們可以執(zhí)行加法、減法、連接等操作。它還可以調(diào)用評(píng)估結(jié)果的函數(shù)。
例子:
# 使用算術(shù)表達(dá)式 >>> ((10 + 2) * 100 / 5 - 200) 40.0 # 在表達(dá)式中使用函數(shù) >>> pow(2, 10) 1024 # 在表達(dá)式中使用 eval >>> eval( "2.5+2.5" ) 5.0
1.3簡(jiǎn)單的賦值語句
在一個(gè)簡(jiǎn)單的賦值中,我們創(chuàng)建新變量、賦值和更改值。該語句提供了一個(gè)表達(dá)式和一個(gè)變量名作為標(biāo)簽來保存表達(dá)式的值。
# Syntax variable = expression # LHS <=> RHS
現(xiàn)在讓我們仔細(xì)看看 Python
中的三種賦值語句,看看到底發(fā)生了什么。
案例 1:右側(cè) (RHS) 只是一個(gè)基于值的表達(dá)式。
讓我們考慮一下 Python 中最基本的賦值形式。
>>> test = "Learn Python"
Python 將在內(nèi)存中創(chuàng)建一個(gè)字符串“Learn Python
”,并為其分配名稱“test
”。您可以使用稱為id()的內(nèi)置函數(shù)來確認(rèn)內(nèi)存地址。
>>> test = "Learn Python" >>> id(test) 6589040
該數(shù)字是數(shù)據(jù)在內(nèi)存中所在位置的地址。現(xiàn)在,這里有一些你應(yīng)該知道的有趣點(diǎn)。
- 如果您創(chuàng)建另一個(gè)具有相同值的字符串,Python 將創(chuàng)建一個(gè)新對(duì)象并將其分配到內(nèi)存中的不同位置。所以這條規(guī)則適用于大多數(shù)情況。
>>> test1 = "Learn Python" >>> id(test1) 6589104 >>> test2 = "Learn Python" >>> id(test2) 6589488
- 但是,Python 在以下兩種場(chǎng)景中也會(huì)分配相同的內(nèi)存地址。
字符串沒有空格并且包含少于 20 個(gè)字符。
如果整數(shù)范圍在 -5 到 +255 之間。
這個(gè)概念被稱為Interning
。Python
這樣做是為了節(jié)省內(nèi)存。
案例 2:右側(cè) (RHS) 是當(dāng)前的 Python 變量。
讓我們討論下一種類型的賦值語句,其中 RHS
是當(dāng)前 Python
變量。
>>> another_test = test
上面的語句不會(huì)在內(nèi)存中觸發(fā)任何新的分配。這兩個(gè)變量都指向相同的內(nèi)存地址。這就像為現(xiàn)有對(duì)象創(chuàng)建別名。讓我們使用id()函數(shù)來驗(yàn)證這一點(diǎn)。
>>> test = "Learn Python" >>> id(test) 6589424 >>> another_test = test >>> id(another_test) 6589424
案例 3:右側(cè) (RHS
) 是一個(gè)操作。
在這種類型的語句中,結(jié)果將取決于操作的結(jié)果。讓我們用下面的例子來分析它。
>>> test = 2 * 5 / 10 >>> print(test) 1.0 >>> type(test) <class 'float'>
在上面的例子中,賦值會(huì)導(dǎo)致創(chuàng)建一個(gè)“float”變量。
>>> test = 2 * 5 >>> print(test) 10 >>> type(test) <class 'int'>
在這個(gè)例子中,賦值將導(dǎo)致創(chuàng)建一個(gè) “int
”變量。
1.4增強(qiáng)賦值語句
我們可以在賦值中組合算術(shù)運(yùn)算符以形成擴(kuò)充賦值語句。
查看以下示例以了解增強(qiáng)賦值語句。
x += y
上面的語句是下面簡(jiǎn)單語句的簡(jiǎn)寫。
x = x + y
下一個(gè)是一個(gè)更清晰的例子,我們向元組添加新元素。
>>> my_tuple = (10, 20, 30) >>> my_tuple += (40, 50,) >>> print(my_tuple) (10, 20, 30, 40, 50)
下一個(gè)示例是使用元音列表。它正在演示將缺失的元音添加到列表中。
>>> list_vowels = ['a','e','i'] >>> list_vowels += ['o', 'u',] >>> print(list_vowels) ['a', 'e', 'i', 'o', 'u']
二、Python 中的多行語句
通常,每個(gè) Python
語句都以換行符結(jié)尾。但是,我們可以使用行繼續(xù)符 () 將其擴(kuò)展到多行。
Python
為我們提供了兩種在程序中啟用多行語句的方法。
2.1顯式續(xù)行
當(dāng)您立即使用行繼續(xù)符 () 將語句拆分為多行時(shí)。
例子:
# 使用多行語句初始化列表 >>> my_list = [1, \ ... 2, 3\ ... ,4,5 \ ... ] >>> print(my_list) [1, 2, 3, 4, 5] # 使用多行語句計(jì)算表達(dá)式 >>> eval ( \ ... " 2.5 \ ... + \ ... 3.5") 6.0
2.2隱式續(xù)行
隱式續(xù)行是指使用括號(hào) ( )、方括號(hào) [ ] 和大括號(hào) { } 中的任何一個(gè)拆分語句 。您需要使用提到的構(gòu)造將目標(biāo)語句括起來。
例子:
>>> result = (10 + 100 ... * 5 - 5 ... / 100 + 10 ... ) >>> print(result) 519.95
另一個(gè)例子:
>>> subjects = [ ... 'Maths', ... 'English', ... 'Science' ... ] >>> print(subjects) ['Maths', 'English', 'Science'] >>> type(subjects) <class 'list'>
三、Python 縮進(jìn)
許多高級(jí)編程語言(如 C、C++、C#)都使用大括號(hào) { } 來標(biāo)記代碼塊。Python 通過縮進(jìn)來實(shí)現(xiàn)。
表示函數(shù)體或循環(huán)體的代碼塊以縮進(jìn)開始,以第一個(gè)未縮進(jìn)的行結(jié)束。
3.1Python中的縮進(jìn)有多少個(gè)空格?
Python
樣式指南 (PEP 8) 規(guī)定縮進(jìn)大小應(yīng)保持為 4。然而,谷歌有其獨(dú)特的風(fēng)格指南,限制縮進(jìn)最多兩個(gè)空格。所以你也可以選擇不同的風(fēng)格,但我們建議遵循 PEP8。
3.2為什么縮進(jìn)很重要?
大多數(shù)編程語言都提供縮進(jìn)以實(shí)現(xiàn)更好的代碼格式,并且不強(qiáng)制使用縮進(jìn)。
但是,在 Python
中,必須遵守縮進(jìn)規(guī)則。通常,我們將代碼塊中的每一行縮進(jìn)四個(gè)空格(或相同的數(shù)量)。
在前幾節(jié)的示例中,您可能已經(jīng)看到我們編寫了沒有縮進(jìn)的簡(jiǎn)單表達(dá)式語句。
然而,為了創(chuàng)建復(fù)合語句,縮進(jìn)將是非常必要的。
例子:
def demo_routine(num): print('I am a demo function') if num % 2 == 0: return True else: return False num = int(input('Enter a number:')) if demo_routine(num) is True: print(num, 'is an even number') else: print(num, 'is an odd number')
現(xiàn)在,還可以看到不想要的縮進(jìn)導(dǎo)致錯(cuò)誤的場(chǎng)景。因此,讓我們嘗試縮進(jìn)一個(gè)簡(jiǎn)單的表達(dá)式語句。
>>> 6*5-10 File "<stdin>", line 1 6*5-10 ^ IndentationError: unexpected indent
到此這篇關(guān)于Python
語句的表達(dá)式和縮進(jìn)的文章就介紹到這了,更多相關(guān)Python
表達(dá)式和縮進(jìn)內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。