您好,登錄后才能下訂單哦!
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 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
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。