【Python 筆記】變數 Variable

更新於 發佈於 閱讀時間約 7 分鐘

認識 Python 的變數 (Variables)。變數是程式設計中最基礎且重要的概念之一。


什麼是變數?

簡單來說,變數就像電腦記憶體中的一個標籤容器,您可以將各種不同的資料(例如數字、文字、真假值等)儲存到這個容器中。透過這個標籤,您可以在程式碼中方便地存取和操作這些資料。


變數的特性:

  • 儲存資料: 變數的主要功能是儲存資料。
  • 可變性 (Variable): 這也是變數名稱的由來。儲存在變數中的資料可以在程式執行過程中被修改或替換成新的資料。
  • 命名規則: 變數需要一個名稱,這個名稱需要遵循特定的規則(稍後會詳細說明)。
  • 資料型態: 變數本身沒有固定的資料型態,Python 會根據您賦予變數的值自動判斷其資料型態(這稱為動態型別)。


如何宣告和賦值變數?

在 Python 中,您不需要像某些其他程式語言一樣顯式地宣告變數的資料型態。您只需要直接賦值給一個變數名稱,Python 就會自動創建這個變數並將值儲存進去。

賦值使用等號 = 這個賦值運算符。等號的左邊是變數的名稱,右邊是要儲存的值。

raw-image


變數的命名規則:

在 Python 中,變數名稱需要遵循以下規則:

  1. 只能包含字母 (a-z, A-Z)、數字 (0-9) 和底線 (_)。
  2. 不能以數字開頭。
  3. 區分大小寫 (case-sensitive)。 例如,myVariablemyvariable 是不同的變數。
  4. 不能使用 Python 的保留字 (keywords)。 這些是 Python 語言本身具有特殊意義的單字,例如 ifelseforwhiledefclass 等。


良好的變數命名習慣:

雖然 Python 的命名規則很寬鬆,但為了提高程式碼的可讀性和可維護性,建議遵循以下良好的命名習慣:

  • 使用具有描述性的名稱: 變數名稱應該清楚地表達其儲存的資料的含義。例如,使用 user_name 而不是 n,使用 total_amount 而不是 ta
  • 使用小寫字母和底線分隔單字 (snake_case): 這是在 Python 中最常見的變數命名風格。例如:student_idfile_pathnumber_of_items
  • 避免使用單個字元作為變數名稱 (除非是迴圈計數器等常見用法): 例如,使用 count 而不是 c
  • 保持命名風格的一致性。


變數的資料型態 (Python 的動態型別):

Python 是一種動態型別的語言,這意味著您不需要在宣告變數時指定其資料型態。Python 會根據您賦予變數的值自動判斷其資料型態。


常見的 Python 資料型態包括:

  • 整數 (int): 例如 10, -5, 0
  • 浮點數 (float): 例如 3.14, -2.5, 0.0
  • 字串 (str): 例如 "Hello", 'Python', "高雄"
  • 布林值 (bool): TrueFalse
  • 列表 (list): 有序且可變的元素集合,例如 [1, 2, "apple"]
  • 元組 (tuple): 有序且不可變的元素集合,例如 (1, "banana", 3.0)
  • 字典 (dict): 鍵值對的集合,例如 {"name": "Alice", "age": 30}
  • 集合 (set): 無序且不重複的元素集合,例如 {1, 2, 3}


您可以使用 type() 函數來查看變數當前的資料型態:

raw-image


總結:

變數是 Python 中用於儲存和管理資料的基本。了解如何宣告、賦值、命名變數以及 Python 的動態型別特性,是學習 Python 程式設計的基石。透過使用具有描述性的變數名稱,您可以寫出更易讀、更易維護的 Python 程式碼。



全域變數和區域變數


Python 中的全域變數 (Global Variables) 和區域變數 (Local Variables)。理解這兩種變數的作用域 (Scope) 是編寫結構清晰且避免命名衝突的重要概念。

作用域 (Scope)

在程式設計中,作用域指的是變數在程式碼的哪個部分是可被存取和使用的。Python 中變數的作用域主要由其被定義的位置決定。


1. 區域變數 (Local Variables)

  • 定義位置: 區域變數是在函數 (function) 內部定義的變數。
  • 作用域: 區域變數只能在其被定義的函數內部被存取和使用。當函數執行結束後,區域變數就會被銷毀,外部無法再存取。
  • 生命週期: 區域變數的生命週期與其所在的函數的執行週期相同。當函數被呼叫時創建,當函數執行完畢時銷毀。

範例:

raw-image

在上面的例子中,local_var 只在 my_function 內部有效。當我們嘗試在函數外部存取它時,Python 會拋出 NameError,因為該變數在那個作用域中不存在。


2. 全域變數 (Global Variables)

  • 定義位置: 全域變數是在函數外部(即在模組的頂層)定義的變數。
  • 作用域: 全域變數在整個程式中(包括函數內部)都是可以被存取的。
  • 生命週期: 全域變數的生命週期與整個程式的執行週期相同。當程式開始執行時創建,當程式結束時銷毀。

範例:

raw-image

在這個例子中,global_var 在函數 another_function 內部和外部都可以被存取。


在函數內部修改全域變數

預設情況下,當您在函數內部嘗試賦值給一個與全域變數同名的變數時,Python 會將其視為創建一個新的同名區域變數,而不是修改全域變數的值。

範例 (注意輸出):

raw-image

輸出結果會是:

raw-image

這是因為 modify_global 函數內部創建了一個新的區域變數 global_var 並賦值為 30,而外部的全域變數 global_var 的值並沒有改變。


使用 global 關鍵字在函數內部修改全域變數

如果您想要在函數內部修改全域變數的值,您需要使用 global 關鍵字來顯式地聲明您正在使用的是全域變數。

範例:

raw-image

輸出結果會是:

raw-image

現在,函數內部對 global_var 的賦值確實修改了全域變數的值。


最佳實踐和注意事項:

  • 盡量減少使用全域變數: 過度使用全域變數可能會導致程式碼難以理解、追蹤和維護。它們會增加不同部分程式碼之間的耦合性,使得程式的行為更難預測。
  • 優先使用區域變數: 區域變數有助於將程式碼邏輯封裝在函數內部,提高程式碼的模組化和可讀性。
  • 透過函數參數和返回值傳遞資料: 將資料作為參數傳遞給函數,並使用 return 語句將結果返回,通常是更清晰和更安全的方式來在不同部分的程式碼之間共享資料。
  • 命名衝突: 避免使用相同的名稱來命名全域變數和區域變數,以減少混淆和錯誤的可能性。如果必須使用相同的名稱,請務必清楚了解它們的作用域。


總結:

  • 區域變數在函數內部定義,只能在函數內部使用,生命週期與函數相同。
  • 全域變數在函數外部定義,可以在整個程式中使用,生命週期與程式相同。
  • 在函數內部修改全域變數需要使用 global 關鍵字進行聲明。
  • 為了程式碼的可維護性和清晰性,建議盡量使用區域變數,並透過函數參數和返回值來傳遞資料。



留言
avatar-img
留言分享你的想法!
avatar-img
宗的筆記
14會員
609內容數
我的學習筆記,用來記錄自己覺得重要的事情,所有的筆記會動態更新來完善。 用 AI 補助整理重點。
宗的筆記的其他內容
2025/04/08
認識 Python 中的「字串 (String)」。字串是 Python 中用於表示文本資料的基本資料型態。它可以包含字母、數字、符號、空格等任何 Unicode 字元。 字串的特性: 不可變性 (Immutable): 字串一旦被創建,其內容就不能直接修改。任何對字串的操作(例如替換、插入
2025/04/08
認識 Python 中的「字串 (String)」。字串是 Python 中用於表示文本資料的基本資料型態。它可以包含字母、數字、符號、空格等任何 Unicode 字元。 字串的特性: 不可變性 (Immutable): 字串一旦被創建,其內容就不能直接修改。任何對字串的操作(例如替換、插入
2025/04/08
Python 數字(Number)類型詳解 在 Python 中,數字(Number)是基本的資料類型之一,主要分為三種: 整數(int) 浮點數(float) 複數(complex) 以下是詳細說明與範例: 1. 整數(int) 不包含小數點,可以是正數、負數或零。 在 Pyth
Thumbnail
2025/04/08
Python 數字(Number)類型詳解 在 Python 中,數字(Number)是基本的資料類型之一,主要分為三種: 整數(int) 浮點數(float) 複數(complex) 以下是詳細說明與範例: 1. 整數(int) 不包含小數點,可以是正數、負數或零。 在 Pyth
Thumbnail
2025/04/08
介紹 Python 中非常重要且常用的內建函數 print()。 print() 函數的主要作用是將指定的物件 (object) 輸出到標準輸出流 (standard output stream),預設情況下這個標準輸出流會連接到您的終端機 (terminal) 或控制台 (console)。簡單
Thumbnail
2025/04/08
介紹 Python 中非常重要且常用的內建函數 print()。 print() 函數的主要作用是將指定的物件 (object) 輸出到標準輸出流 (standard output stream),預設情況下這個標準輸出流會連接到您的終端機 (terminal) 或控制台 (console)。簡單
Thumbnail
看更多
你可能也想看
Thumbnail
沙龍一直是創作與交流的重要空間,這次 vocus 全面改版了沙龍介面,就是為了讓好內容被好好看見! 你可以自由編排你的沙龍首頁版位,新版手機介面也讓每位訪客都能更快找到感興趣的內容、成為你的支持者。 改版完成後可以在社群媒體分享新版面,並標記 @vocus.official⁠ ♥️ ⁠
Thumbnail
沙龍一直是創作與交流的重要空間,這次 vocus 全面改版了沙龍介面,就是為了讓好內容被好好看見! 你可以自由編排你的沙龍首頁版位,新版手機介面也讓每位訪客都能更快找到感興趣的內容、成為你的支持者。 改版完成後可以在社群媒體分享新版面,並標記 @vocus.official⁠ ♥️ ⁠
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
全球科技產業的焦點,AKA 全村的希望 NVIDIA,於五月底正式發布了他們在今年 2025 第一季的財報 (輝達內部財務年度為 2026 Q1,實際日曆期間為今年二到四月),交出了打敗了市場預期的成績單。然而,在銷售持續高速成長的同時,川普政府加大對於中國的晶片管制......
Thumbnail
全球科技產業的焦點,AKA 全村的希望 NVIDIA,於五月底正式發布了他們在今年 2025 第一季的財報 (輝達內部財務年度為 2026 Q1,實際日曆期間為今年二到四月),交出了打敗了市場預期的成績單。然而,在銷售持續高速成長的同時,川普政府加大對於中國的晶片管制......
Thumbnail
認識 Python 的變數 (Variables)。變數是程式設計中最基礎且重要的概念之一。 什麼是變數? 簡單來說,變數就像電腦記憶體中的一個標籤或容器,您可以將各種不同的資料(例如數字、文字、真假值等)儲存到這個容器中。透過這個標籤,您可以在程式碼中方便地存取和操作這些資料。 變數
Thumbnail
認識 Python 的變數 (Variables)。變數是程式設計中最基礎且重要的概念之一。 什麼是變數? 簡單來說,變數就像電腦記憶體中的一個標籤或容器,您可以將各種不同的資料(例如數字、文字、真假值等)儲存到這個容器中。透過這個標籤,您可以在程式碼中方便地存取和操作這些資料。 變數
Thumbnail
這篇內容,將會講解什麼是變數,以及與變數相關的知識。包括變數、資料型態、變數賦值、變數的命名規則、變數的作用區域、變數的可重複性、內建變數。
Thumbnail
這篇內容,將會講解什麼是變數,以及與變數相關的知識。包括變數、資料型態、變數賦值、變數的命名規則、變數的作用區域、變數的可重複性、內建變數。
Thumbnail
在本章節中,我們將學習JavaScript的基本語法,包括如何註解代碼和如何聲明變數。瞭解這些基礎知識對於進一步學習和使用JavaScript來編寫代碼是非常重要的。
Thumbnail
在本章節中,我們將學習JavaScript的基本語法,包括如何註解代碼和如何聲明變數。瞭解這些基礎知識對於進一步學習和使用JavaScript來編寫代碼是非常重要的。
Thumbnail
本文介紹了各種運算符的用法和優先級,包括算術運算符、比較運算符、賦值運算符、邏輯運算符、位元運算符、成員運算符和身份運算符。每種運算符都有詳細的描述和示例程式碼,幫助理解其功能和用法。
Thumbnail
本文介紹了各種運算符的用法和優先級,包括算術運算符、比較運算符、賦值運算符、邏輯運算符、位元運算符、成員運算符和身份運算符。每種運算符都有詳細的描述和示例程式碼,幫助理解其功能和用法。
Thumbnail
本文詳細介紹了Python中的各種資料型別,包括整數、字串、清單、元組、集合和字典,並提供了相關的操作範例。此外,還解釋了如何在Python中定義和操作變數,包括如何同時對多個變數進行賦值。
Thumbnail
本文詳細介紹了Python中的各種資料型別,包括整數、字串、清單、元組、集合和字典,並提供了相關的操作範例。此外,還解釋了如何在Python中定義和操作變數,包括如何同時對多個變數進行賦值。
Thumbnail
Python語法包括條件語句、迴圈、函數和變數的使用。條件語句如if、elif和else用於進行條件判斷,for和while是兩種主要的迴圈,def用於定義函數。變數可以被賦予數字或字符串,並可使用類型提示來指定變數的類型。註解可以是單行或多行,並可用於解釋函數或類的用途和作用。
Thumbnail
Python語法包括條件語句、迴圈、函數和變數的使用。條件語句如if、elif和else用於進行條件判斷,for和while是兩種主要的迴圈,def用於定義函數。變數可以被賦予數字或字符串,並可使用類型提示來指定變數的類型。註解可以是單行或多行,並可用於解釋函數或類的用途和作用。
Thumbnail
在程式中,了解資料型態是相當重要的。 為什麽? 因為許多error,常常都是因為資料型態不正確所導致的。 舉個例子,在python中: a = 1 + 2 print(a) 結果就是3 a = = "1"+"2" print(a) 結果就是12 是不是差很多? 所以今天我來介
Thumbnail
在程式中,了解資料型態是相當重要的。 為什麽? 因為許多error,常常都是因為資料型態不正確所導致的。 舉個例子,在python中: a = 1 + 2 print(a) 結果就是3 a = = "1"+"2" print(a) 結果就是12 是不是差很多? 所以今天我來介
Thumbnail
Python 提供了一系列內建函式,其中一部分涉及數學和數學操作。 以下是一些常用的內建函式和數學相關的函式: 基本數學運算: abs(x): 返回 x 的絕對值。 result = abs(-5) print(result) # 輸出: 5 max(iterable) 和 min(
Thumbnail
Python 提供了一系列內建函式,其中一部分涉及數學和數學操作。 以下是一些常用的內建函式和數學相關的函式: 基本數學運算: abs(x): 返回 x 的絕對值。 result = abs(-5) print(result) # 輸出: 5 max(iterable) 和 min(
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News