Python 語句的表達式和縮進

一、Python 中的語句

1.1什麼是聲明?

Python 中的語句是 Python 解釋器可以讀取和執行的邏輯指令。在 Python 中,它可以是表達式或賦值語句。

賦值語句是 Python 的基礎。它定義瞭表達式創建和保存對象的方式。

1.2什麼是表達式

表達式是一種類型的 Python 語句,它包含數字、字符串、對象和運算符的邏輯序列。值本身是一個有效的表達式,變量也是如此。

使用表達式,我們可以執行加法、減法、連接等操作。它還可以調用評估結果的函數。

例子:

# 使用算術表達式
>>> ((10 + 2) * 100 / 5 - 200)
40.0

# 在表達式中使用函數
>>> pow(2, 10)
1024

# 在表達式中使用 eval
>>> eval( "2.5+2.5" )
5.0

1.3簡單的賦值語句

在一個簡單的賦值中,我們創建新變量、賦值和更改值。該語句提供瞭一個表達式和一個變量名作為標簽來保存表達式的值。

# Syntax
variable = expression
# LHS <=> RHS

現在讓我們仔細看看 Python 中的三種賦值語句,看看到底發生瞭什麼。

案例 1:右側 (RHS) 隻是一個基於值的表達式。

讓我們考慮一下 Python 中最基本的賦值形式。

>>> test = "Learn Python"

Python 將在內存中創建一個字符串“Learn Python”,並為其分配名稱“test”。您可以使用稱為id()的內置函數來確認內存地址。

>>> test = "Learn Python"
>>> id(test)
6589040

該數字是數據在內存中所在位置的地址。現在,這裡有一些你應該知道的有趣點。

  • 如果您創建另一個具有相同值的字符串,Python 將創建一個新對象並將其分配到內存中的不同位置。所以這條規則適用於大多數情況。
>>> test1 = "Learn Python"
>>> id(test1)
6589104
>>> test2 = "Learn Python"
>>> id(test2)
6589488

  • 但是,Python 在以下兩種場景中也會分配相同的內存地址。

字符串沒有空格並且包含少於 20 個字符。
如果整數范圍在 -5 到 +255 之間。
這個概念被稱為InterningPython 這樣做是為瞭節省內存。

案例 2:右側 (RHS) 是當前的 Python 變量。

讓我們討論下一種類型的賦值語句,其中 RHS 是當前 Python 變量。

>>> another_test = test

上面的語句不會在內存中觸發任何新的分配。這兩個變量都指向相同的內存地址。這就像為現有對象創建別名。讓我們使用id()函數來驗證這一點。

>>> test = "Learn Python"
>>> id(test)
6589424
>>> another_test = test
>>> id(another_test)
6589424

案例 3:右側 (RHS) 是一個操作。

在這種類型的語句中,結果將取決於操作的結果。讓我們用下面的例子來分析它。

>>> test = 2 * 5 / 10
>>> print(test)
1.0
>>> type(test)
<class 'float'>

在上面的例子中,賦值會導致創建一個“float”變量。

>>> test = 2 * 5
>>> print(test)
10
>>> type(test)
<class 'int'>

在這個例子中,賦值將導致創建一個 “int”變量。

1.4增強賦值語句

我們可以在賦值中組合算術運算符以形成擴充賦值語句。

查看以下示例以瞭解增強賦值語句。

x += y

上面的語句是下面簡單語句的簡寫。

x = x + y

下一個是一個更清晰的例子,我們向元組添加新元素。

>>> my_tuple = (10, 20, 30)
>>> my_tuple += (40, 50,)
>>> print(my_tuple)
(10, 20, 30, 40, 50)

下一個示例是使用元音列表。它正在演示將缺失的元音添加到列表中。

>>> list_vowels = ['a','e','i']
>>> list_vowels += ['o', 'u',]
>>> print(list_vowels)
['a', 'e', 'i', 'o', 'u']

二、Python 中的多行語句

通常,每個 Python 語句都以換行符結尾。但是,我們可以使用行繼續符 () 將其擴展到多行。

Python 為我們提供瞭兩種在程序中啟用多行語句的方法。

2.1顯式續行

當您立即使用行繼續符 () 將語句拆分為多行時。

例子:

# 使用多行語句初始化列表
>>> my_list = [1, \
... 2, 3\
... ,4,5 \
... ]
>>> print(my_list)
[1, 2, 3, 4, 5]

# 使用多行語句計算表達式
>>> eval ( \
... " 2.5 \
... + \
... 3.5")
6.0

2.2隱式續行

隱式續行是指使用括號 ( )、方括號 [ ] 和大括號 { } 中的任何一個拆分語句 。您需要使用提到的構造將目標語句括起來。

例子:

>>> result = (10 + 100
... * 5 - 5
... / 100 + 10
... )
>>> print(result)
519.95

另一個例子:

>>> subjects = [
... 'Maths',
... 'English',
... 'Science'
... ]
>>> print(subjects)
['Maths', 'English', 'Science']
>>> type(subjects)
<class 'list'>

三、Python 縮進

許多高級編程語言(如 C、C++、C#)都使用大括號 { } 來標記代碼塊。Python 通過縮進來實現。

表示函數體或循環體的代碼塊以縮進開始,以第一個未縮進的行結束。

3.1Python中的縮進有多少個空格?

Python 樣式指南 (PEP 8) 規定縮進大小應保持為 4。然而,谷歌有其獨特的風格指南,限制縮進最多兩個空格。所以你也可以選擇不同的風格,但我們建議遵循 PEP8。

3.2為什麼縮進很重要?

大多數編程語言都提供縮進以實現更好的代碼格式,並且不強制使用縮進。

但是,在 Python 中,必須遵守縮進規則。通常,我們將代碼塊中的每一行縮進四個空格(或相同的數量)。

在前幾節的示例中,您可能已經看到我們編寫瞭沒有縮進的簡單表達式語句。

然而,為瞭創建復合語句,縮進將是非常必要的。

例子:

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')

現在,還可以看到不想要的縮進導致錯誤的場景。因此,讓我們嘗試縮進一個簡單的表達式語句

>>> 6*5-10
 File "<stdin>", line 1
 6*5-10
 ^
IndentationError: unexpected indent

到此這篇關於Python 語句的表達式和縮進的文章就介紹到這瞭,更多相關Python 表達式和縮進內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: