Python入門之元組

                                                                                          Python入門之元組


一、什麼是元祖


元祖是不可變類型(列表是可變類型)

爲什麼要設計元祖這樣不可變類型?因爲一旦創建了不可變類型的對象,對象內部的所有數據就不能被修改了,這樣避免了

由於修改數據導致的錯誤。此外,對於不可變類型的對象,在多任務環境下同時操作對象時不需要加鎖。


二、元祖的創建

#可以帶() 也可以不帶
t = ('python',15)
print (t)  # ('python', 15)
print (type(t)) # <class 'tuple'>

t1 = 'python3',19,20
print (t1)  # ('python3', 19, 20)
print(type(t1)) #<class 'tuple'>

# 空元祖的創建

t2 = ()
print (t2)  # ()

t2 = tuple()
print (t2)  # ()
'''
元祖是不可修改的,但內部元素如果是可變類型,那麼該元素的值是可以修改的
'''
t3 = ('python',[1,2,3],15)
t3[1][1] = 9
print (t3)  #('python', [1, 9, 3], 15)


三、只有一個元素的元組

只有一個元素時,給元祖賦值的時候要加上逗號,不然會按照字符的原有類型賦值

t = (18)
t1 = ('python')
print (type(t))  # <class 'int'> 只有一個元素,不加逗號18爲int類型
print (type(t1)) # <class 'str'> 只有一個元素,不加逗號'python'爲str類型

t2 = ('python3',)
print (type(t2)) # <class 'tuple'> 只有一個元素,也要加逗號


四、多變量的賦值

賦值運算符的左邊可以是一個所有元素都爲變量的元組或列表,從而一次給多個變量賦值

a,b = 7,8
print (a,b) # 7 8
print (type(a)) # <class 'int'>

a,b = [8,9]
print (a,b) # 8 9
print (type(a)) # <class 'int'>

[a,b] = [1,2]
print (a,b) #1 2
print (type(a)) # <class 'int'>

(a,b) = 55,11
print (a,b) # #55 11
print (type(a)) # <class 'int'>


'''
可以在變量前加入*,這樣多餘的元素會賦值到這個變量上,如下所示
多餘的元素會形成一個列表賦予給變量
'''
*a,b,c = 1,2,3,4,5
print (a,b,c) # [1, 2, 3] 4 5
print (type(a)) # <class 'list'>


'''
正常的值替換將a和b的值互換,操作如下。
學習了多變量賦值,可以直接a,b = b,a
原理在於先計算右邊的值,然後再賦予給左邊
'''
a = 5
b = 6
tmp = a  #先設置一箇中間變量tmp接收a的值,然後tmp = a,a = b,b = tmp
a = b
b = tmp
print (a,b) #6 5

a = 5
b = 6
a,b = b,a  #先計算右邊數的值,然後在賦值給左邊
print (a,b) # 6 5


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章