在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Python/ 二、tuple(元組)
二、Enum 的源碼
前言
一、Python 模塊簡(jiǎn)介
一、List(列表)
五、匿名函數(shù)
三、什么是元類
二、循環(huán)語(yǔ)句
二、模塊的使用
三、第一個(gè) Python 程序
線程與進(jìn)程
Python
三、條件語(yǔ)句和循環(huán)語(yǔ)句綜合實(shí)例
四、對(duì)象的描述器
三、類的屬性
一、迭代
五、迭代器和生成器綜合例子
六、運(yùn)算符相關(guān)的魔術(shù)方法
一、枚舉類的使用
前言
一、簡(jiǎn)明概述
二、Python 的基本數(shù)據(jù)類型
多線程編程
五、作用域
四、包
四、枚舉的比較
四、Python 中的變量
六、類的多態(tài)
一、Python 中類也是對(duì)象
一、Python 的 Magic Method
前言
四、生成器
一、面向?qū)ο蟮母拍?/span>
五、類的繼承
二、類
二、使用 <code>type()</code> 動(dòng)態(tài)創(chuàng)建類
進(jìn)程
二、set
三、主模塊和非主模塊
一、字典(Dictionary)
前言
前言
前言
前言
四、集成開發(fā)環(huán)境(IDE): PyCharm
前言
四、函數(shù)的參數(shù)
三、lsit 生成式(列表生成式)
四、自定義元類
四、類的方法
二、函數(shù)傳值問(wèn)題
二、注釋
一、條件語(yǔ)句
一、Python 語(yǔ)法的簡(jiǎn)要說(shuō)明
三、函數(shù)返回值
三、基本數(shù)據(jù)類型轉(zhuǎn)換
三、屬性的訪問(wèn)控制
二、Python 的安裝
前言
三、命名規(guī)范
一、Python 自定義函數(shù)的基本步驟
三、自定義類型的枚舉
五、自定義容器(Container)
二、Python 迭代器
前言
二、tuple(元組)
一、Python 簡(jiǎn)介
前言
前言
前言
二、構(gòu)造(<code>__new__</code>)和初始化(<code>__init__</code>)
前言

二、tuple(元組)

另一種有序列表叫元組:tuple 。tuple 和 list 非常類似,但是 tuple 一旦初始化就不能修改。那么不能修改是指什么意思呢?

tuple 不可變是指當(dāng)你創(chuàng)建了 tuple 時(shí)候,它就不能改變了,也就是說(shuō)它也沒(méi)有 append(),insert() 這樣的方法,但它也有獲取某個(gè)索引值的方法,但是不能賦值。那么為什么要有 tuple 呢?那是因?yàn)?tuple 是不可變的,所以代碼更安全。所以建議能用 tuple 代替 list 就盡量用 tuple 。

1、創(chuàng)建 tuple(元祖)

元組創(chuàng)建很簡(jiǎn)單,只需要在括號(hào)中添加元素,并使用逗號(hào)隔開即可。

tuple1=('兩點(diǎn)水','twowter','liangdianshui',123,456)
tuple2='兩點(diǎn)水','twowter','liangdianshui',123,456

創(chuàng)建空元組

tuple3=()

元組中只包含一個(gè)元素時(shí),需要在元素后面添加逗號(hào)

tuple4=(123,)

如果不加逗號(hào),創(chuàng)建出來(lái)的就不是 tuple (元組),而是指 123 這個(gè)數(shù)了,這是因?yàn)槔ㄌ?hào) ()既可以表示 tuple,又可以表示數(shù)學(xué)公式中的小括號(hào),這就產(chǎn)生了歧義,因此,Python 規(guī)定,這種情況下,按小括號(hào)進(jìn)行計(jì)算,計(jì)算結(jié)果自然是 123 。具體看下圖 tuple4 和 tuple5 的輸出值

創(chuàng)建tuple

2、tuple(元組)的索引

元組下標(biāo)索引從0開始,可以進(jìn)行截取,組合等。

3、訪問(wèn) tuple (元組)

tuple(元組)可以使用下標(biāo)索引來(lái)訪問(wèn)元組中的值

#-*-coding:utf-8-*-

tuple1=('兩點(diǎn)水','twowter','liangdianshui',123,456)
tuple2='兩點(diǎn)水','twowter','liangdianshui',123,456

print(tuple1[1])
print(tuple2[0])

輸出的結(jié)果:

訪問(wèn) tuple

4、修改 tuple (元組)

上面不是花了一大段來(lái)說(shuō) tuple 是不可變的嗎?這里怎么又來(lái)修改 tuple (元組) 了。那是因?yàn)樵M中的元素值是不允許修改的,但我們可以對(duì)元組進(jìn)行連接組合,還有通過(guò)修改其他列表的值從而影響 tuple 的值。

具體看下面的這個(gè)例子:

#-*-coding:utf-8-*-
list1=[123,456]
tuple1=('兩點(diǎn)水','twowater','liangdianshui',list1)
print(tuple1)
list1[0]=789
list1[1]=100
print(tuple1)

輸出的結(jié)果:

('兩點(diǎn)水', 'twowater', 'liangdianshui', [123, 456])
('兩點(diǎn)水', 'twowater', 'liangdianshui', [789, 100])

可以看到,兩次輸出的 tuple 值是變了的。我們看看 tuple1 的存儲(chǔ)是怎樣的。

修改tuple流程圖

可以看到,tuple1 有四個(gè)元素,最后一個(gè)元素是一個(gè) List ,List 列表里有兩個(gè)元素,當(dāng)我們把 List 列表中的兩個(gè)元素 124456 修改為 789100 的時(shí)候,從輸出來(lái)的 tuple1 的值來(lái)看,好像確實(shí)是改變了,但其實(shí)變的不是 tuple 的元素,而是 list 的元素。tuple 一開始指向的 list 并沒(méi)有改成別的 list,所以,tuple 所謂的“不變”是說(shuō),tuple 的每個(gè)元素,指向永遠(yuǎn)不變。注意是 tupe1 中的第四個(gè)元素還是指向原來(lái)的 list ,是沒(méi)有變的。

5、刪除 tuple (元組)

tuple 元組中的元素值是不允許刪除的,但我們可以使用 del 語(yǔ)句來(lái)刪除整個(gè)元組

#-*-coding:utf-8-*-

tuple1=('兩點(diǎn)水','twowter','liangdianshui',[123,456])
print(tuple1)
del tuple1

6、tuple (元組)運(yùn)算符

與字符串一樣,元組之間可以使用 + 號(hào)和 * 號(hào)進(jìn)行運(yùn)算。這就意味著他們可以組合和復(fù)制,運(yùn)算后會(huì)生成一個(gè)新的元組。

Python 表達(dá)式 結(jié)果 描述
len((1, 2, 3)) 3 計(jì)算元素個(gè)數(shù)
(1, 2, 3) + (4, 5, 6) (1, 2, 3, 4, 5, 6) 連接
('Hi!',) * 4 ('Hi!', 'Hi!', 'Hi!', 'Hi!') 復(fù)制
3 in (1, 2, 3) True 元素是否存在
for x in (1, 2, 3): print x, 1 2 3 迭代

7、元組內(nèi)置函數(shù)

方法 描述
cmp(tuple1, tuple2) 比較兩個(gè)元組元素
len(tuple) 計(jì)算元組元素個(gè)數(shù)
max(tuple) 返回元組中元素最大值
min(tuple) 返回元組中元素最小值
tuple(seq) 將列表轉(zhuǎn)換為元組
上一篇:四、自定義元類下一篇:二、類