python交換兩個(gè)變量的值很簡(jiǎn)單,a,b = b,a 就可以,寫(xiě)成函數(shù),代碼如下:
成都創(chuàng)新互聯(lián)是一家專業(yè)提供嘉黎企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站、小程序制作等業(yè)務(wù)。10年已為嘉黎眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。
def?jh(a,b):
return?b,a
x?=?1
y?=?2
x,y?=?jh(x,y)
print(x,y)
執(zhí)行結(jié)果如下:
為了把類中的變量傳遞給類中的函數(shù),我們需要用到3個(gè)特定格式
① 第一個(gè)格式 @classmethod 的中文意思就是“類方法”,@classmethod聲明了函數(shù)1是類方法,這樣才能允許函數(shù)1使用類屬性中的數(shù)據(jù)。
② 第二個(gè)格式 cls 的意思是class的縮寫(xiě)。如果類方法函數(shù)1想使用類屬性(也就是類中的變量),就要寫(xiě)上cls為函數(shù)1的第一個(gè)參數(shù),也就是把這個(gè)類作為參數(shù)傳給自己,這樣就能被允許使用類中的數(shù)據(jù)。
③ 第三個(gè)格式是 cls.變量 。類方法想使用類屬性的時(shí)候,需要在這些變量名稱前加上cls. 這就好比類方法和類之間的約法三章,所以但凡有任何格式錯(cuò)誤都會(huì)報(bào)錯(cuò)。
如果缺①,即缺了“@classmethod”,類方法就不能直接利用類中的屬性,于是報(bào)錯(cuò)
append是list自帶的一個(gè)方法,作用就是給list尾部加上一個(gè)元素。
list內(nèi)部靠順序表實(shí)現(xiàn),append會(huì)在順序表尾部加上一個(gè)元素并將順序表的長(zhǎng)度+1。
1. input函數(shù)會(huì)直接將文本輸出,不必要自己再加print()函數(shù);
如:a=input('請(qǐng)輸入一個(gè)數(shù)字:')
運(yùn)行這行命令會(huì)直接顯示:
請(qǐng)輸入一個(gè)數(shù)字:
python與R語(yǔ)言不同在于,python必須通過(guò)print輸出;
2. while語(yǔ)句和for語(yǔ)句是循環(huán)語(yǔ)句,若要實(shí)現(xiàn)循環(huán),需要基于這兩個(gè),僅僅if是不夠的;while True:可以實(shí)現(xiàn)無(wú)限循環(huán);
3. eval函數(shù)實(shí)現(xiàn)list,dict, tuple 和str之間的轉(zhuǎn)化;
4. python中,變量值相互交換,并不需要臨時(shí)變量,可直接實(shí)現(xiàn)交換;x,y=y,x;
5. 寫(xiě)函數(shù)時(shí),一定有return;
所以這篇文章,我們先來(lái)回顧和總結(jié)Python數(shù)據(jù)結(jié)構(gòu)里常用操作。Python中常見(jiàn)的數(shù)據(jù)結(jié)構(gòu)可以統(tǒng)稱為容器(container)。序列(如列表和元組)、映射(如字典)以及集合(set)是三類主要的容器。而扁平序列如str、bytes、bytearray、memoryview 和 array.array等不在這篇文章的討論范圍內(nèi)。
在此,我們先從元組開(kāi)始說(shuō)起。
元組區(qū)別于列表的顯著特征之一就是它不能被修改,但其另外一個(gè)作用就是 用于沒(méi)有字段名的記錄 [1] 。因?yàn)楹笳呓?jīng)常被忽略,我們先來(lái)看看元組作為記錄的作用。
使用括號(hào)就可以定義一個(gè)元組。元組中的每個(gè)元素都存放了記錄中一個(gè)字段的數(shù)據(jù),外加這個(gè)字段的位置。正是這個(gè)位置信息給數(shù)據(jù)賦予了意義。下面的例子中,元組就被當(dāng)作記錄加以利用:
輸出為:
上述for循環(huán)中的操作提取了元組中的元素,也叫作拆包(unpacking)。平行賦值是對(duì)元組拆包很好的應(yīng)用,示例如下:
還有一個(gè)經(jīng)典而優(yōu)雅的應(yīng)用是交換變量的值:
用 * 運(yùn)算符把一個(gè)可迭代對(duì)象拆開(kāi)作為函數(shù)的參數(shù),例如Python的內(nèi)置函數(shù)pmod接收兩個(gè)數(shù)字類型的參數(shù),返回商和余數(shù)。以下范例將使用 * 將元組傳入函數(shù)。
輸出為:
有些函數(shù)有多個(gè)返回值,將其賦給一個(gè)變量時(shí),變量類型即是元組:
輸出為:
zip是Python的內(nèi)置函數(shù),能夠接收兩個(gè)或多個(gè)序列,并組成一個(gè)元組列表,在Python3中會(huì)返回一個(gè)迭代器,如下所示:
輸出為:
元組當(dāng)然也支持一些常規(guī)操作,如對(duì)于元組 a = (1, 'y', 5, 5, 'x') :
上述內(nèi)容不僅涵蓋了元組的基本操作,同時(shí)也結(jié)合了實(shí)際工作中常搭配使用的其他函數(shù)、運(yùn)算符等。在回顧這些知識(shí)時(shí)主要參考了兩本經(jīng)典的Python編程書(shū)籍:《流暢的Python》和《像計(jì)算機(jī)科學(xué)家一樣思考Python》,有興趣的朋友可以深入閱讀!
希望這篇文章對(duì)你有幫助,下回將總結(jié)Python列表的使用技巧。
[1]《流暢的Python》:
題主好. 設(shè)我們有兩個(gè)變量 a, b 交換它們的值不需中間變量:
a, b = b, a