Python入門之元組python
1、什麼是元祖ide
元祖是不可變類型(列表是可變類型)學習
爲何要設計元祖這樣不可變類型?由於一旦建立了不可變類型的對象,對象內部的全部數據就不能被修改了,這樣避免了spa
因爲修改數據致使的錯誤。此外,對於不可變類型的對象,在多任務環境下同時操做對象時不須要加鎖。設計
2、元祖的建立對象
#能夠帶() 也能夠不帶 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)
3、只有一個元素的元組it
只有一個元素時,給元祖賦值的時候要加上逗號,否則會按照字符的原有類型賦值入門
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'> 只有一個元素,也要加逗號
4、多變量的賦值class
賦值運算符的左邊能夠是一個全部元素都爲變量的元組或列表,從而一次給多個變量賦值變量
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