Python 語(yǔ)句的表達(dá)式和縮進(jìn)
一、Python 中的語(yǔ)句
1.1什么是聲明?
Python
中的語(yǔ)句是 Python 解釋器可以讀取和執(zhí)行的邏輯指令。在 Python
中,它可以是表達(dá)式或賦值語(yǔ)句。
賦值語(yǔ)句是 Python
的基礎(chǔ)。它定義了表達(dá)式創(chuàng)建和保存對(duì)象的方式。
1.2什么是表達(dá)式
表達(dá)式是一種類(lèi)型的 Python 語(yǔ)句,它包含數(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)單的賦值語(yǔ)句
在一個(gè)簡(jiǎn)單的賦值中,我們創(chuàng)建新變量、賦值和更改值。該語(yǔ)句提供了一個(gè)表達(dá)式和一個(gè)變量名作為標(biāo)簽來(lái)保存表達(dá)式的值。
# Syntax variable = expression # LHS <=> RHS
現(xiàn)在讓我們仔細(xì)看看 Python
中的三種賦值語(yǔ)句,看看到底發(fā)生了什么。
案例 1:右側(cè) (RHS) 只是一個(gè)基于值的表達(dá)式。
讓我們考慮一下 Python 中最基本的賦值形式。
>>> test = "Learn Python"
Python 將在內(nèi)存中創(chuàng)建一個(gè)字符串“Learn Python
”,并為其分配名稱(chēng)“test
”。您可以使用稱(chēng)為id()的內(nèi)置函數(shù)來(lái)確認(rèn)內(nèi)存地址。
>>> test = "Learn Python" >>> id(test) 6589040
該數(shù)字是數(shù)據(jù)在內(nèi)存中所在位置的地址?,F(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)存地址。
字符串沒(méi)有空格并且包含少于 20 個(gè)字符。
如果整數(shù)范圍在 -5 到 +255 之間。
這個(gè)概念被稱(chēng)為Interning
。Python
這樣做是為了節(jié)省內(nèi)存。
案例 2:右側(cè) (RHS) 是當(dāng)前的 Python 變量。
讓我們討論下一種類(lèi)型的賦值語(yǔ)句,其中 RHS
是當(dāng)前 Python
變量。
>>> another_test = test
上面的語(yǔ)句不會(huì)在內(nèi)存中觸發(fā)任何新的分配。這兩個(gè)變量都指向相同的內(nèi)存地址。這就像為現(xiàn)有對(duì)象創(chuàng)建別名。讓我們使用id()函數(shù)來(lái)驗(yàn)證這一點(diǎn)。
>>> test = "Learn Python" >>> id(test) 6589424 >>> another_test = test >>> id(another_test) 6589424
案例 3:右側(cè) (RHS
) 是一個(gè)操作。
在這種類(lèi)型的語(yǔ)句中,結(jié)果將取決于操作的結(jié)果。讓我們用下面的例子來(lái)分析它。
>>> 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)賦值語(yǔ)句
我們可以在賦值中組合算術(shù)運(yùn)算符以形成擴(kuò)充賦值語(yǔ)句。
查看以下示例以了解增強(qiáng)賦值語(yǔ)句。
x += y
上面的語(yǔ)句是下面簡(jiǎn)單語(yǔ)句的簡(jiǎn)寫(xiě)。
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 中的多行語(yǔ)句
通常,每個(gè) Python
語(yǔ)句都以換行符結(jié)尾。但是,我們可以使用行繼續(xù)符 () 將其擴(kuò)展到多行。
Python
為我們提供了兩種在程序中啟用多行語(yǔ)句的方法。
2.1顯式續(xù)行
當(dāng)您立即使用行繼續(xù)符 () 將語(yǔ)句拆分為多行時(shí)。
例子:
# 使用多行語(yǔ)句初始化列表 >>> my_list = [1, \ ... 2, 3\ ... ,4,5 \ ... ] >>> print(my_list) [1, 2, 3, 4, 5] # 使用多行語(yǔ)句計(jì)算表達(dá)式 >>> eval ( \ ... " 2.5 \ ... + \ ... 3.5") 6.0
2.2隱式續(xù)行
隱式續(xù)行是指使用括號(hào) ( )、方括號(hào) [ ] 和大括號(hào) { } 中的任何一個(gè)拆分語(yǔ)句 。您需要使用提到的構(gòu)造將目標(biāo)語(yǔ)句括起來(lái)。
例子:
>>> 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í)編程語(yǔ)言(如 C、C++、C#)都使用大括號(hào) { } 來(lái)標(biāo)記代碼塊。Python 通過(guò)縮進(jìn)來(lái)實(shí)現(xiàn)。
表示函數(shù)體或循環(huán)體的代碼塊以縮進(jìn)開(kāi)始,以第一個(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ù)編程語(yǔ)言都提供縮進(jìn)以實(shí)現(xiàn)更好的代碼格式,并且不強(qiáng)制使用縮進(jìn)。
但是,在 Python
中,必須遵守縮進(jìn)規(guī)則。通常,我們將代碼塊中的每一行縮進(jìn)四個(gè)空格(或相同的數(shù)量)。
在前幾節(jié)的示例中,您可能已經(jīng)看到我們編寫(xiě)了沒(méi)有縮進(jìn)的簡(jiǎn)單表達(dá)式語(yǔ)句。
然而,為了創(chuàng)建復(fù)合語(yǔ)句,縮進(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á)式語(yǔ)句。
>>> 6*5-10 File "<stdin>", line 1 6*5-10 ^ IndentationError: unexpected indent
到此這篇關(guān)于Python
語(yǔ)句的表達(dá)式和縮進(jìn)的文章就介紹到這了,更多相關(guān)Python
表達(dá)式和縮進(jìn)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python Spyder 調(diào)出縮進(jìn)對(duì)齊線的操作
- python縮進(jìn)長(zhǎng)度是否統(tǒng)一
- Python代碼需要縮進(jìn)嗎
- python程序快速縮進(jìn)多行代碼方法總結(jié)
- 超詳細(xì)講解python正則表達(dá)式
- python通過(guò)re正則表達(dá)式切割中英文的操作
- Python驗(yàn)證的50個(gè)常見(jiàn)正則表達(dá)式
- python re模塊和正則表達(dá)式
- Python 條件,循環(huán)語(yǔ)句詳解
- Python基礎(chǔ)入門(mén)之if判斷語(yǔ)句
- Python使用sql語(yǔ)句對(duì)mysql數(shù)據(jù)庫(kù)多條件模糊查詢(xún)的思路詳解
相關(guān)文章
通過(guò)pycharm的database設(shè)置進(jìn)行數(shù)據(jù)庫(kù)的可視化方式
這篇文章主要介紹了通過(guò)pycharm的database設(shè)置進(jìn)行數(shù)據(jù)庫(kù)的可視化方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09Python使用matplotlib的pie函數(shù)繪制餅狀圖功能示例
這篇文章主要介紹了Python使用matplotlib的pie函數(shù)繪制餅狀圖功能,結(jié)合實(shí)例形式分析了Python使用matplotlib的pie函數(shù)進(jìn)行餅狀圖繪制的具體操作技巧,注釋中對(duì)pie函數(shù)的用法進(jìn)行了詳細(xì)的說(shuō)明,便于理解,需要的朋友可以參考下2018-01-01python一鍵升級(jí)所有pip package的方法
下面小編就為大家?guī)?lái)一篇python一鍵升級(jí)所有pip package的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-01-01在Windows中定時(shí)執(zhí)行Python腳本的詳細(xì)教程
在Windows系統(tǒng)中,定時(shí)執(zhí)行Python腳本是一個(gè)常見(jiàn)需求,特別是在需要自動(dòng)化數(shù)據(jù)處理、監(jiān)控任務(wù)或周期性維護(hù)等場(chǎng)景中,本文將結(jié)合實(shí)際案例,詳細(xì)介紹如何在Windows中通過(guò)任務(wù)計(jì)劃程序(Task Scheduler)來(lái)實(shí)現(xiàn)定時(shí)執(zhí)行Python腳本的功能,需要的朋友可以參考下2024-08-0810 行Python 代碼實(shí)現(xiàn) AI 目標(biāo)檢測(cè)技術(shù)【推薦】
這篇文章主要介紹了10 行Python 代碼,實(shí)現(xiàn) AI 目標(biāo)檢測(cè)技術(shù),看完了代碼,我們?cè)谝黄鹆牧哪繕?biāo)檢測(cè)背后的技術(shù)背景,并解讀這10行Python代碼的由來(lái)和實(shí)現(xiàn)原理。感興趣的朋友跟隨小編一起看看吧2019-06-06