原始型別(Primitive Types)和引用型別(Reference Types) | Python
在 Python 中,變數的類型可以分為兩大類: 原始型別(Primitive Types) 和 引用型別(Reference Types) 。
1. 原始型別(Primitive Types):
原始型別是指基本的數據類型,它們是不可變(immutable)的。這意味著一旦創建了一個原始型別的變數,就無法改變其內容,只能創建一個新的對象。
常見的原始型別包括:
- 整數(int)
- 浮點數(float)
- 布林值(bool)
- 字符串(str)
- 元組(tuple)
對於原始型別,變數存儲的是實際的數據值,而不是對數據的引用。當你對原始型別的變數進行操作時,實際上是在創建新的對象。
# 原始型別示例
num = 42 # 整數
pi = 3.14 # 浮點數
is_true = True # 布林值
name = "John" # 字符串
coordinates = (10, 20) # 元組
2. 引用型別(Reference Types):
引用型別是指對象的引用,這些對象可以包含多個值,並且它們是可變(mutable)的。引用型別的變數實際上存儲的是對對象的引用,而不是對象本身。
常見的引用型別包括:
- 列表(list)
- 字典(dict)
- 集合(set)
- 類(class)
對於引用型別,變數存儲的是對對象的引用,當你對引用型別的變數進行操作時,你實際上是在修改這個對象。
對於引用對象實務上操作細節差異,可以看我
== 和 is 的差別
這篇文章的介紹,在實際的開發上,了解原始類型跟引用類型,可以避免許多不必要的bug出現
# 引用型別示例
my_list = [1, 2, 3] # 列表
my_dict = {'key': 'value'} # 字典
my_set = {1, 2, 3} # 集合
總結:
- 原始型別是不可變的,存儲實際數據值,操作變數會生成新的對象。
- 引用型別是可變的,存儲對對象的引用,操作變數會修改對象本身。 理解這兩者之間的區別有助於更好地處理變數的行為,特別是在涉及到對象的修改和比較時。
Tags