成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

python函數(shù)接收元組 python元組操作

Python中tuple()函數(shù)的基本語法是什么?

Python中tuple()函數(shù)的基本語法如下:

乳山網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站開發(fā)等網(wǎng)站項目制作,到程序開發(fā),運營維護。成都創(chuàng)新互聯(lián)成立與2013年到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)。

tuple(iterable)

其中,iterable是一個可迭代的對象,例如一個列表或一個字符串。tuple()函數(shù)會將這個可迭代對象轉(zhuǎn)換為一個元組,并返回結(jié)果。

例如,如果我們有一個列表 mylist = [1, 2, 3],我們可以使用tuple()函數(shù)將其轉(zhuǎn)換為元組:

mytuple = tuple(mylist)

這樣,mytuple就是一個包含三個元素的元組,即 (1, 2, 3)。

總的來說,Python中tuple()函數(shù)的基本語法是將一個可迭代的對象轉(zhuǎn)換為一個元組,并返回結(jié)果。

python中什么方法用于接收一個元祖

一:元組(tuple)

1、元組是不可改變的序列,同list一樣,元組可以存放任意類型的元素,一旦元組生成,則它不可以改變(包括增、刪、改)。

2、元組的表示方式:用小括號()括起來,單個元素括起來用逗號(,)區(qū)分是單個對象還是元組

3、元組的創(chuàng)建:

創(chuàng)建空元組的字符值:t=()

創(chuàng)建非空元組的字面值:

t=200,

t=(20,)

t=(1,2,3)

t=100,200,300

4、元組的構(gòu)造函數(shù)(tuple)

A:tuple()生成一個空的元組,等同于()

B:tuple(iterable)用可迭代對象生成一個元組

示例:

t=tuple()

t=tuple(range(10))

t=tuple(‘hello’)

t=tuple([])

二:元組的用法

1、元組的算術(shù)運算:(用法與列表的用法完全相同)

+=**=

例:定義兩個元組,與其相加,再用得到的新元組乘以2,與列表對比一下,看看有何不同?(分析:兩原組相加,會把第二個元組的元素放在第一個元組元素的后面,兩元組相乘,會重復(fù)原元組元素的個數(shù),乘以幾,就重復(fù)幾次)

2、元組的比較運算:

====!=

3、in/not in

索引取值

切片取值

規(guī)則與列表完全相同

區(qū)別:

元組是不可變對象,不支持索引賦值和切片賦值

4、元組的方法

t.index(v[,begin[,end]])----用于獲取元組中V所在的索引位置

t.count(v)----用于獲取元組中V的個數(shù)

例:定義一個元組字面值,查看某個值在元組的索引位置,并統(tǒng)計其元組中某個數(shù)出現(xiàn)的個數(shù)。

5、元組中的三個構(gòu)造函數(shù)和序列函數(shù)

Str(obj)

List(iterable)

Tuple(iterable)

序列函數(shù):len,max,min,sum,all,any

python(9):元組

元組是用逗號和圓括號定義的一種特殊的序列類型,之所以說它是特殊的,是因為它一旦定義之后,不能修改元素,不能添加元素,也不能刪除元素,即它是不可變序列。元組一般有以下兩種定義方法:

元組與列表的異同:

都屬于序列類型,列表是可變序列類型,可隨時修改、添加或刪除元素,元組是不可變序列,其中的元素不可修改。

元組比列表的訪問和處理速度更快,所以如果只需要對其中的元素進(jìn)行訪問,建議使用元組。

Python元組常用操作小技巧

所以這篇文章,我們先來回顧和總結(jié)Python數(shù)據(jù)結(jié)構(gòu)里常用操作。Python中常見的數(shù)據(jù)結(jié)構(gòu)可以統(tǒng)稱為容器(container)。序列(如列表和元組)、映射(如字典)以及集合(set)是三類主要的容器。而扁平序列如str、bytes、bytearray、memoryview 和 array.array等不在這篇文章的討論范圍內(nèi)。

在此,我們先從元組開始說起。

元組區(qū)別于列表的顯著特征之一就是它不能被修改,但其另外一個作用就是 用于沒有字段名的記錄 [1] 。因為后者經(jīng)常被忽略,我們先來看看元組作為記錄的作用。

使用括號就可以定義一個元組。元組中的每個元素都存放了記錄中一個字段的數(shù)據(jù),外加這個字段的位置。正是這個位置信息給數(shù)據(jù)賦予了意義。下面的例子中,元組就被當(dāng)作記錄加以利用:

輸出為:

上述for循環(huán)中的操作提取了元組中的元素,也叫作拆包(unpacking)。平行賦值是對元組拆包很好的應(yīng)用,示例如下:

還有一個經(jīng)典而優(yōu)雅的應(yīng)用是交換變量的值:

用 * 運算符把一個可迭代對象拆開作為函數(shù)的參數(shù),例如Python的內(nèi)置函數(shù)pmod接收兩個數(shù)字類型的參數(shù),返回商和余數(shù)。以下范例將使用 * 將元組傳入函數(shù)。

輸出為:

有些函數(shù)有多個返回值,將其賦給一個變量時,變量類型即是元組:

輸出為:

zip是Python的內(nèi)置函數(shù),能夠接收兩個或多個序列,并組成一個元組列表,在Python3中會返回一個迭代器,如下所示:

輸出為:

元組當(dāng)然也支持一些常規(guī)操作,如對于元組 a = (1, 'y', 5, 5, 'x') :

上述內(nèi)容不僅涵蓋了元組的基本操作,同時也結(jié)合了實際工作中常搭配使用的其他函數(shù)、運算符等。在回顧這些知識時主要參考了兩本經(jīng)典的Python編程書籍:《流暢的Python》和《像計算機科學(xué)家一樣思考Python》,有興趣的朋友可以深入閱讀!

希望這篇文章對你有幫助,下回將總結(jié)Python列表的使用技巧。

[1]《流暢的Python》:

python 隨手記 (4) python 函數(shù)中*(star/asterisk)和**的使用

1、函數(shù)定義時

?。褂脝蝹€ * 會將所有的參數(shù),放入一個元組(tuple)供函數(shù)使用。

?。褂脙蓚€ ** 將所有的關(guān)鍵字參數(shù)(鍵-值對形式),放入一個字典(dict)供函數(shù)使用。

2.函數(shù)調(diào)用時

 -在list,tuple,set前加一個星號會把容器中的所有元素解包(unpack)變成位置參數(shù)。

?。赿ict前加一個星號會把字典的鍵變成位置參數(shù)。

 -在dict前加兩個星號會把字典的鍵值對變成關(guān)鍵字參數(shù)。

1、* 的具體使用。位置參數(shù)和可變參數(shù)的靈活使用

1.1 在函數(shù)定義時候,將所有的位置參數(shù)放入一個元祖中

1.2 在函數(shù)調(diào)用時使用*,將list、tuple、set,解包成位置參數(shù)。

2、**的具體使用。關(guān)鍵字參數(shù)和可變參數(shù)的具體使用。

2.1 在函數(shù)定義時

3、 和 * 在函數(shù)中一起使用

注意,在*arg之后,函數(shù)只接收關(guān)鍵字參數(shù)

Python其實很簡單 第十二章 函數(shù)與變量的作用域

在前面已經(jīng)多次提到函數(shù)這個概念,之所以沒有解釋什么是函數(shù),是因為程序中的函數(shù)和數(shù)學(xué)中的函數(shù)差不多,如input()、range()等都是函數(shù),這些都是Python的標(biāo)準(zhǔn)函數(shù),直接使用就可以了。根據(jù)需要,用戶也可以自定義函數(shù)。

12.1 函數(shù)

函數(shù)的結(jié)構(gòu):

def 函數(shù)名(參數(shù)):

函數(shù)體

return 返回值

例如:數(shù)學(xué)中的函數(shù)f(x)=2x+5在Python中可以定義如下:

def f(x):

y=2*x+5

return(y)

如果x取值為3,可以使用如下語句調(diào)用函數(shù):

f(3)

下面給出完整的程序代碼:

def f(x):

y=2*x+5

return(y)

res=f(3)

print(res)

運行結(jié)果:11

如上例中的x是函數(shù)f(x)的參數(shù),有時也被稱為形式參數(shù)(簡稱形參),在函數(shù)被調(diào)用時,x被具體的值3替換y就是函數(shù)的返回值,這個值3也被稱為實際參數(shù)(簡稱實參)。

上例中的y是函數(shù)f(x)的返回值。并不是所有的函數(shù)都有參數(shù)和返回值。如下面的函數(shù):

def func():

print('此為無參數(shù)傳遞、無返回值的函數(shù)')

func()

輸出結(jié)果:此為無參數(shù)傳遞、無返回值的函數(shù)

可以看出,該函數(shù)func()無參數(shù),故調(diào)用時不用賦給參數(shù)值。

函數(shù)也可以有多個參數(shù),如f(x,y)=x2+y2,可用Python語言定義如下:

def f(x,y):

z=x**2+y**2

return z

print(f(2,3)) #調(diào)用函數(shù)f(x,y)

輸出結(jié)果:13

也可以通過直接給參數(shù)列表中的參數(shù)賦值的方法,為參數(shù)添加默認(rèn)值,如果用戶賦予參數(shù)值,則按照用戶賦值執(zhí)行,否則使用默認(rèn)值。例如:

def f(x,y=3):

z=x**2+y**2

return z

若調(diào)用時參數(shù)列表為(2,1),即x賦值為2,y賦值為1:

print(f(2,1))

輸出結(jié)果為:5

若調(diào)用時參數(shù)列表為(2),即x賦值為2,y賦值省缺,則y使用默認(rèn)值:

print(f(2))

輸出結(jié)果為:13

回調(diào)函數(shù),又稱函數(shù)回調(diào),是將函數(shù)作為另一函數(shù)的參數(shù)。

例如:

def func(fun,m,n):

fun(m,n)

def f_add(m,n):

print('m+n=',m+n)

def f_mult(m,n):

print('m*n=',m*n)

func(f_add,2,3)

func(f_mult,2,3)

輸出結(jié)果:

m+n= 5

m*n= 6

在f_add(m,n)和f_mult(m,n)被定義前,func(fun,m,n)中的fun(m,n)就已經(jīng)調(diào)用了這兩個函數(shù),即“先調(diào)用后定義”,這也是回調(diào)函數(shù)的特點。

如果無法預(yù)知參數(shù)的個數(shù),可以在參數(shù)前面加上*號,這種參數(shù)實際上對應(yīng)元組類型。譬如,參會的人數(shù)事先不能確定,只能根據(jù)與會人員名單輸入:

def func(*names):

print('今天與會人員有:')

for name in names:

print(name)

func('張小兵','陳曉梅','李大海','王長江')

運行后,輸出結(jié)果為:

今天與會人員有:

張小兵

陳曉梅

李大海

王長江

參數(shù)為字典類型,需要在參數(shù)前面加上**號。

def func(**kwargs):

for i in kwargs:

print(i,kwargs[i])

func(a='a1',b='b1',c='c1')

輸出結(jié)果為:

a a1

b b1

c c1

一個有趣的實例:

def func(x,y,z,*args,**kwargs):

print(x,y,z)

print(args)

print(kwargs)

func('a','b','c','Python','is easy',py='python',j='java',ph='php')

輸出結(jié)果:

a b c # 前三個實參賦給前三個形參

('Python', 'is easy') # *args接收元組數(shù)據(jù)

{'py': 'python', 'j': 'java', 'ph': 'php'} # **kwargs接收字典數(shù)據(jù)

12.2 變量的作用域

變量的作用域即變量的有效范圍,可分為全局變量和局部變量。

局部變量

在函數(shù)中定義的變量就是局部變量,局部變量的作用域僅限于函數(shù)內(nèi)部使用。

全局變量

在主程序中定義的變量就是全局變量,但在函數(shù)中用關(guān)鍵字global修飾的變量也可以當(dāng)做全局變量來使用。

全局變量的作用域是整個程序,也就是說,全局變量可以在整個程序中可以訪問。

下面通過實例去討論:

程序1:

a=1 # a為全局變量

def a_add():

print('a的初值:',a) # 在函數(shù)中讀取a的值

a_add() # 調(diào)用函數(shù)a_add()

a+=1 # 主程序語句,a增加1

print('a現(xiàn)在的值是:',a) # 主程序語句,讀取a的值

運行結(jié)果:

a的初值: 1

a現(xiàn)在的值是: 2

這個結(jié)果和我們想象的一樣,全局變量a既可以在主程序中讀取,也可以在子程序(函數(shù))中讀取。

程序2:

a=1

def a_add():

a+=1

print('a的初值:',a)

a_add()

print('a現(xiàn)在的值是:',a)

運行程序1時出現(xiàn)如下錯誤提示:

UnboundLocalError: local variable 'a' referenced before assignment

意思是:局部變量'a'在賦值之前被引用。

從語法上來講,該程序沒有錯誤。首先定義了一個全局變量a并賦值為1,又定義了一個函數(shù)a_add(),函數(shù)內(nèi)的語句a+=1就是出錯的根源,雖然我們的初衷是想讓全局變量a的值增加1,但從錯誤提示看,這個語句中的a并不是全局變量,而是局部變量??磥?,在函數(shù)中讀取全局變量的值是沒有問題的(在程序1中已經(jīng)得到了驗證),但要在函數(shù)中改變?nèi)肿兞康闹凳遣恍械模ㄔ诔绦?的錯誤提示a+=1中的a 是局部變量,而非全局變量)。

怎樣解決這個問題?

程序3:

a=1

def a_add(x):

x+=1

return x

print('a的初值:',a)

a=a_add(a)

print('a現(xiàn)在的值是:',a)

運行結(jié)果:

a的初值: 1

a現(xiàn)在的值是: 2

結(jié)果的確是正確的,但在函數(shù)a_add(x)中沒有調(diào)用變量a(沒有出現(xiàn)變量a)。

程序4:

a=1

def a_add(a):

a+=1

return a

print('a的初值:',a)

a=a_add(a)

print('a現(xiàn)在的值是:',a)

運行結(jié)果:

a的初值: 1

a現(xiàn)在的值是: 2

對比程序4和程序3不難發(fā)現(xiàn),其實程序4只是簡單的把函數(shù)的參數(shù)x變成了a,這個a的實質(zhì)和程序3中的x還是一樣的。這進(jìn)一步證實,函數(shù)中的a是局部變量,與主程序的全局變量a有著本質(zhì)的區(qū)別。

程序5:

a=1

def a_add():

global a

a+=1

print('a的初值:',a)

a_add()

print('a現(xiàn)在的值是:',a)

運行結(jié)果:

a的初值: 1

a現(xiàn)在的值是: 2

程序5和程序2相比較,僅僅是在函數(shù)中添加了一個定義“global a”,此時的局部變量a就可以當(dāng)做全局變量使用,由于它和全局變量a同名,自然也就不用區(qū)分a究竟是全局變量還是局部變量了,在主程序和該函數(shù)內(nèi)都可以訪問、修改變量a的值了。

雖然使用global可使變量使用起來非常方便,但也容易引起混淆,故在使用過程中還是謹(jǐn)慎為好。

12.3 函數(shù)的遞歸與嵌套

遞歸,就是函數(shù)調(diào)用它自身。遞歸必須設(shè)置停止條件,否則函數(shù)將無法終止,形成死循環(huán)。

以計算階乘為例:

def func(n):

if n==1:

return 1

else:

return n*func(n-1) #func( )調(diào)用func( )

print(func(5))

運行結(jié)果為:120

嵌套,指在函數(shù)中調(diào)用另外的函數(shù)。這是程序中常見的一種結(jié)構(gòu),在此不再贅述。

匿名函數(shù)

Python中可以在參數(shù)前加上關(guān)鍵字lambda定義一個匿名函數(shù),這樣的函數(shù)一般都屬于“一次性”的。

例如:

程序1:這是一個常規(guī)的函數(shù)定義和調(diào)用。

def f_add(x,y):

return x+y

print(f_add(2,3))

輸出結(jié)果:5

程序2:使用lambda定義匿名函數(shù)。

f_add=lambda x,y:x+y

print(f_add(2,3))

輸出結(jié)果:5

從上面的代碼可以看出,使用lambda僅僅減少了一行代碼。f_add=lambda x,y:x+y中的f_add不是變量名,而是函數(shù)名。程序1和程序2的print( )語句中的參數(shù)都是一樣的——調(diào)用函數(shù)f_add( )。所以,匿名函數(shù)并沒有太多的優(yōu)點。

文章名稱:python函數(shù)接收元組 python元組操作
網(wǎng)站網(wǎng)址:http://jinyejixie.com/article18/hehigp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航動態(tài)網(wǎng)站、做網(wǎng)站網(wǎng)站排名、Google、建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司
康定县| 平定县| 剑阁县| 自治县| 万年县| 阳江市| 绩溪县| 西贡区| 宜黄县| 屏东县| 鹤壁市| 报价| 虞城县| 高雄县| 修水县| 旅游| 文登市| 峨眉山市| 屏南县| 紫阳县| 大洼县| 扬州市| 长沙县| 利津县| 淳安县| 嵊州市| 晋江市| 社旗县| 万安县| 冀州市| 靖西县| 长垣县| 贺兰县| 拜城县| 会昌县| 阿城市| 双江| 安阳县| 库车县| 拜泉县| 甘洛县|