1.1. 什麼是變數?
在 Python 中,變數是 賦予對象的名稱,用於在程式中存儲、修改和訪問數據。Python 是一種動態類型的語言,這意味著變數的類型是根據賦予的值來確定的,並且這種類型可以在程式執行過程中變化。
Python 中變數的主要方面:
1. 宣告和賦值:
在 Python 中,變數
不需要宣告來保留記憶體。賦值給變數
會自動保留記憶體並確定其類型。例如,x = 10
創建一個名為 x
的變數,並賦予其值 10
。
2. 命名:
變數名稱應該具有描述性,並遵循 Python 的識別符規則,例如,不得以數字開頭且不包含特殊字符,除了底線。
範例:
name1 = "Alex" | name1 — 是個不錯的名字。 |
---|---|
user_age = 5 | user_age — 是個不錯的名字。 |
%city% = 7 | %city% — 不好的名字,含有特殊字符。 |
1234qwerty = 1234 | 不好的名字 — 以數字開頭。 |
3. 動態類型:
如前所述,Python 中變數的類型是在程式執行期間確定的,使得語言靈活且便於開發。程式中類型變更的例子:x = 10
賦予 x
數字
值,然後 x = "hello"
賦予 x
字串值。
範例:
age = "Alexander" |
變數 age 含有的值是 — 文本字符串
“Alexander”
|
---|---|
age = 35 | 變數 age 含有的值是 — 數字 35 |
age = "London" | 變數 age 含有的值是 — 文本字符串 “London” |
age = 3.14 | 變數 age 含有的值是 — 浮點數 3.14 |
4. 變數的引用性質:
在 Python 中,變數是對對象的引用。這意味著當變數被賦予一個值時,實際上是創建了一個對該值對象的引用。如果變數 x
和 y
指向同一個對象,通過 x
所做的任何更改都會反映在 y
上,因為兩個變數都引用了記憶體中相同的對象。
5. 可見範圍:
變數的可見範圍定義了程式中變數可用的部分。Python 支持局部、全局和非局部(在嵌套函數的上下文中)的變數。我們會在稍後更詳細地討論這個以及前面的主題。別著急。
6. 記憶體管理:
Python 通過垃圾回收器自動管理變數的記憶體,該回收器跟踪並釋放未使用的記憶體。
7. 對象的不變性:
在 Python 中,一些數據類型,如字串和元組,是不可變的。這意味著它們的內容無法在創建後更改。任何更改這些數據的嘗試都會導致創建新的對象。
8. 多重賦值:
在 Python 中,可以在一行中進行多次賦值。範例:
x = 1 | |
---|---|
y = 2 | x, y, z = 1, 2, 3 |
z = 3 |
1.2. 數據類型
Python 支持幾種基本數據類型,用於在程式中存儲和操作數據。它們包括 int
, str
, float
和 bool
。
int (整數)
int
數據類型用於表示沒有小數部分的整數。它可以存儲正數和負數。例如,
x = 5 將整數 5 賦予變數 x。
str (字串)
str
類型用於存儲文本信息,或稱為字串。Python 中的字串用單引號或雙引號引起。例如,
name = "John" 將字串
"John" 賦予變數
name。Python 中的字串支持多種操作,例如連接和重複,還有很多方法用於處理文本。
float (浮點數)
在 Python 中,float
類型用於表示浮點數,即包含小數部分的數字。
這些數字使用小數點記錄。例如,
pi = 3.14 將變數
pi 賦予 π 的值,四捨五入到小數點後兩位。
bool (布林值)
布林數據類型 bool
接受兩種值之一:
True (真)
或
False (假)
。它通常用於在條件操作和循環中控制執行條件。例如,is_valid = True 表示
變數 is_valid 的布林值為 True
。
這些數據類型是構建更復雜的數據結構和算法的基礎,允許程序員在 Python 中高效地管理數據和邏輯。
1.3. 變數名稱
在 Python 中,變數名稱不僅是指向數據的方式,它們是使代碼易於理解和維護的關鍵元素。正確的變數名稱選擇可以大大簡化代碼的理解和後續的調試,而不良的選擇可能會導致混淆和錯誤。
Python 中命名變數的基本規則:
使用易於理解的名稱:變數名稱應該反映它所包含的數據,以便代碼易於閱讀。例如,count
比 x
更好,當變數用於計數時。
遵循風格標準:在 Python 中,公認的標準是 PEP 8,它建議使用小寫加下劃線的變數名(例如 my_variable
)。
避免與關鍵字衝突:不要使用 Python 為其語法保留的字詞,如 if
、else
、class
、return
等。這可能導致運行時錯誤。
對於小規模變數使用簡短名稱:對於在小代碼塊中使用的局部變數,像 i
或 j
這樣的簡短名稱通常適用,並使代碼更為簡潔。
對於全局變數使用詳細描述的名稱:使用於多個程式部分的全局變數和常量應有更長且描述性更強的名稱,以便清楚它們的用途。
良好的變數名稱例子:
user_age
而非 age
(如果在上下文中可能存在多個年齡)
total_price
而非 total
(強調這是個價格)
max_height
或 min_height
而非 max_h
或
min_h
特殊情況:
在許多算法中,特別是數學和科學領域,通常使用單字母變數(例如,
x
、y
、z
來表示座標)。當這樣的風格成為行業標準且提高了代碼的可理解性時,是可以接受的。
變數名稱在 Python 中扮演著重要角色,有助於創建高效、持久且易於維護的代碼。因此,不要懶惰,努力想出好名字。這樣可以顯著簡化調試和維護的過程,並使代碼更易於其他程序員訪問。
GO TO FULL VERSION