如何在 Python3 中使用變數?
變數是程式設計中的基本元素,允許我們儲存和操作資料。在 Python 3 中,變數是動態型別的,這意味著它們在其生命週期中可以儲存不同型別的資料。理解如何有效地使用變數對於編寫健壯且靈活的程式碼至關重要。在本文中,我們將藉助不同的示例瞭解變數在 Python 中的使用。
變數基礎
在 Python 中,變數是透過使用“=”運算子將值賦給名稱來建立的。變數的名稱由程式設計師選擇,並且應遵循某些命名約定。變數名區分大小寫,可以包含字母、數字和下劃線。但是,它們不能以數字開頭或包含任何特殊字元。
示例
在下面的示例中,我們建立了三個變數:name、age 和 height。name 變數儲存字串值,age 變數儲存整數值,height 變數儲存浮點數。然後,我們使用 print() 函式列印了這些變數的值。
# Variable assignment
name = "John"
age = 25
height = 1.75
# Accessing variables
print("Name:", name)
print("Age:", age)
print("Height:", height)
輸出
Name: John Age: 25 Height: 1.75
變數型別
Python 3 支援各種內建資料型別,包括整數、浮點數、字串、布林值等等。Python 中的變數是動態型別的,這意味著它們可以在執行時更改其型別。
示例
在下面的示例中,我們首先將整數賦給變數 x 並列印其型別,它是 <class 'int'>。然後,我們將浮點數賦給 x 並列印其更新的型別,它是 <class 'float'>。最後,我們將字串賦給 x 並列印其型別,它是 <class 'str'>。這演示了變數如何根據需要更改其型別。
# Variable types
x = 10
print("x is of type:", type(x)) # Output: <class 'int'>
x = 3.14
print("x is now of type:", type(x)) # Output: <class 'float'>
x = "Hello, World!"
print("x is now of type:", type(x)) # Output: <class 'str'>
輸出
x is of type: <class 'int'> x is now of type: <class 'float'> x is now of type: <class 'str'>
變數命名約定
在命名變數時,務必遵循某些約定以編寫簡潔易讀的程式碼。以下是一些 Python 變數命名的常用準則
使用描述性名稱:選擇準確描述變數用途或內容的名稱。例如,使用 age、name 或 user_input 等名稱,而不是 x 或 var1。
使用小寫字母和下劃線:為了提高可讀性,變數名使用小寫字母。如果名稱包含多個單詞,請使用下劃線分隔它們。例如,first_name 或 num_students。
避免使用保留關鍵字:不要使用 Python 保留關鍵字(例如 for、while、if、else 或 class)作為變數名。這些詞在 Python 中具有特殊含義,用於特定目的。
保持一致性:在整個程式碼庫中遵循一致的命名約定以保持統一性。這將使您和其他人更容易理解和維護程式碼。
變數作用域
Python 中的變數具有特定的作用域,它定義了可以在何處訪問和使用該變數。變數的作用域由它在程式碼中定義的位置決定。Python 中變數作用域主要有兩種型別:全域性作用域和區域性作用域。
全域性作用域:在任何函式或程式碼塊外部定義的變數具有全域性作用域。這些變數可以從程式中的任何位置訪問。
示例
在下面的示例中,變數 x 在 print_global() 函式外部定義,使其成為全域性變數。該函式可以毫無問題地訪問和使用此變數。
# Global scope
x = 10
def print_global():
print("Global variable x:", x)
print_global() # Output: Global variable x: 10
輸出
Global variable x: 10
區域性作用域:在函式或程式碼塊內部定義的變數具有區域性作用域。這些變數只能從定義它們的函式或程式碼塊內部訪問。
示例
在下面的示例中,變數 y 在 print_local() 函式內部定義,使其成為區域性變數。它只能在函式內部訪問。嘗試在函式外部訪問 y 將導致 NameError。
def print_local():
y = 5
print("Local variable y:", y)
print_local() # Output: Local variable y: 5
print("Trying to access y outside the function:", y) # Error: NameError: name 'y' is not defined
輸出
Local variable y: 5 NameError: name 'y' is not defined
變數重新賦值
在 Python 中,變數可以在程式中的任何點重新分配給不同的值。這種靈活性使我們能夠更新和修改儲存在變數中的值。
示例
在下面的示例中,我們最初將值 5 賦給 x 並列印它。然後,我們將 x 重新分配給其當前值加上 10 的和。最後,我們將 x 重新分配給字串值。每次重新分配變數時,其值都會相應地更改。
# Variable reassignment
x = 5
print("Initial value of x:", x) # Output: Initial value of x: 5
x = x + 10
print("Updated value of x:", x) # Output: Updated value of x: 15
x = "Hello"
print("New value of x:", x) # Output: New value of x: Hello
輸出
Initial value of x: 5 Updated value of x: 15 New value of x: Hello
變數運算
變數可用於各種數學和邏輯運算。Python 允許我們對相容型別的變數執行運算。
示例
在下面的示例中,我們對變數 a 和 b 執行各種算術運算,例如加法、減法、乘法、除法和取模。我們還執行邏輯運算,如大於、小於和相等性檢查。
# Variable operations
a = 10
b = 3
# Arithmetic operations
sum_result = a + b
difference_result = a - b
product_result = a * b
division_result = a / b
modulus_result = a % b
# Logical operations
greater_than = a > b
less_than = a < b
equals = a == b
print("Sum:", sum_result) # Output: Sum: 13
print("Difference:", difference_result) # Output: Difference: 7
print("Product:", product_result) # Output: Product: 30
print("Division:", division_result) # Output: Division: 3.3333333333333335
print("Modulus:", modulus_result) # Output: Modulus: 1
print("Greater than:", greater_than) # Output: Greater than: True
print("Less than:", less_than) # Output: Less than: False
print("Equals:", equals) # Output: Equals: False
輸出
Sum: 13 Difference: 7 Product: 30 Division: 3.3333333333333335 Modulus: 1 Greater than: True Less than: False Equals: False
常量和變數命名約定
儘管 Python 本身不支援常量,但使用大寫名稱來表示常數值是一種常見的約定。雖然 Python 中仍然可以更改常量的值,但它作為一種視覺指示,表示該值應保持不變且不應修改。
示例
在下面的示例中,PI 和 GRAVITY 被視為使用大寫名稱的常量,即使它們仍然可以重新分配。我們使用常量 PI 和半徑變數計算圓的面積。
# Constants
PI = 3.14159
GRAVITY = 9.8
radius = 5
area = PI * radius ** 2
print("Area of the circle:", area)
輸出
Area of the circle: 78.53975
結論
在本文中,我們討論瞭如何在 Python3 中使用變數,並學習了理解變數賦值、型別、命名約定、作用域、重新賦值、運算、常量和多重賦值的基礎知識,這些知識可用於不同的場景,並有效地使用變數來編寫強大且靈活的 Python 程式碼。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP