欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談python3打包與拆包在函數(shù)的應(yīng)用詳解

 更新時(shí)間:2020年05月02日 08:56:06   作者:Der凱  
這篇文章主要介紹了淺談python3打包與拆包在函數(shù)的應(yīng)用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

1、序列(拆包)

*用作序列拆包:*可對(duì)字符串、列表、集合、元組、字典、數(shù)字元素等序列進(jìn)行拆包

print(*(1,2,3,4,5,6))
#1 2 3 4 5 6
print(*[1,2,3,4,5,6])
#1 2 3 4 5 6

序列拆包賦值:

注意:*變量 不能在第一個(gè)位置,否則會(huì)報(bào)錯(cuò)

a, b, *c = 0, 1, 2, 3 #獲取剩余部分
a, *b, c = 0, 1, 2, 3 #獲取中間部分
a, b, *c = 0, 1    
a, *b, c = 0, 1

優(yōu)先對(duì)位置變量賦值,再對(duì)拆包的賦值

#測(cè)試結(jié)果
print(a,b,c)
0 1 [2,3]
0 [1,2] 3
0 1 [] #優(yōu)先滿足普通變量a、b的賦值
0 [] 1 #優(yōu)先滿足普通變量a、c的賦值

了解了一些基礎(chǔ)的 * 拆包后我們現(xiàn)在來(lái)聊聊函數(shù)中的打包和拆包:

2、函數(shù)定義的多種形參(打包)

函數(shù)定義時(shí)多種形參的位置順序

函數(shù)形參順序?yàn)椋?/em>def 函數(shù)名(【位置參數(shù)】,【*元組參數(shù)】,【默認(rèn)參數(shù)=默認(rèn)值】,【**字典參數(shù)】):

注意:形參里面的 * 和 ** 的含義是打包

【位置參數(shù)】:最普通的形參,必須與實(shí)參一 一對(duì)齊
【 * 元組參數(shù)】:把字符串、列表、集合、元組、字典、數(shù)字元素等序列打包成元組作為形參
【**字典參數(shù)】:把多個(gè)實(shí)參打包成字典作為形參
【默認(rèn)參數(shù)=默認(rèn)值】:函數(shù)調(diào)用時(shí)沒(méi)有傳入時(shí)用默認(rèn)值,傳入時(shí)用傳入值

def 函數(shù)名(a,*b,c=3,**d):
  print("a:",a) 
  print('b:',b) 
  print('c:',c)
  print('d:',d)
# *元組參數(shù)只接受單一的值,而**字典參數(shù)是進(jìn)行接收鍵值對(duì)
函數(shù)名(1,2,3,4,5,6,7,name="小明",age=18,sex="男")

#輸出結(jié)果:
a: 1
b: (2, 3, 4, 5, 6, 7)
c: 3
d: {'name': '小明', 'age': 18, 'sex': '男'}

3、函數(shù)調(diào)用時(shí)的實(shí)參(拆包)

def tk(c,d,e,f,g): #d,e,f,g分別接收 1 2 3 4
  print(c)
  print(d,e,f,g)
a=[1,2,3,4]
b={1,2,3,4}
tk(a,*b) # *b將集合拆解為數(shù)字元素序列 1 2 3 4

運(yùn)行結(jié)果:
[1, 2, 3, 4]
1 2 3 4

補(bǔ)充:

使用命名參數(shù)可大大增強(qiáng)函數(shù)調(diào)用的靈活性(參數(shù)位置無(wú)需一 一對(duì)應(yīng),但參數(shù)名必須一 一對(duì)應(yīng))

總結(jié):默認(rèn)參數(shù)與命名參數(shù)一樣,前者是形參,后者是實(shí)參**

讓我們結(jié)合實(shí)參和形參看一下在函數(shù)中打包與拆包

def tk(a,*b): #2、再將數(shù)字元素序列 1 2 3 4打包成元組(1,2,3,4)
  print(a)
  print(b)
a1=[1,2,3,4]
b1={1,2,3,4}
tk(a1,*b1)  #1、先將b1拆包成數(shù)字元素序列 1 2 3 4 再傳遞給元組形參*b

#輸出結(jié)果:
[1, 2, 3, 4] #a1未打包
(1, 2, 3, 4) #b1為打包后的元組

總結(jié):函數(shù)形參和函數(shù)實(shí)參的*含義不一樣,前者是打包,后者是拆包

對(duì)單個(gè)值操作 對(duì)任意值操作
位置參數(shù)、默認(rèn)參數(shù)、命名參數(shù) *元組參數(shù)、 **字典參數(shù)

4、函數(shù)返回多值時(shí)的打包

接收函數(shù)返回值的兩種情況:

def 函數(shù)():
	return 返回值1 返回值2 返回值3
#1、當(dāng)用一個(gè)變量接受多個(gè)返回值時(shí),會(huì)打包成一個(gè)元組傳遞給變量
a=函數(shù)()
print(a)

#2、用與之?dāng)?shù)目對(duì)應(yīng)的變量接受多個(gè)返回值
b,c,d=函數(shù)()
print(b,c,d)

#輸出結(jié)果
(返回值1,返回值2,返回值3) #打包成元組
返回值1 返回值2 返回值3

到此這篇關(guān)于淺談python3打包與拆包在函數(shù)的應(yīng)用詳解的文章就介紹到這了,更多相關(guān)python3打包與拆包內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 利用django+wechat-python-sdk 創(chuàng)建微信服務(wù)器接入的方法

    利用django+wechat-python-sdk 創(chuàng)建微信服務(wù)器接入的方法

    今天小編就為大家分享一篇利用django+wechat-python-sdk 創(chuàng)建微信服務(wù)器接入的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟小編過(guò)來(lái)看看吧
    2019-02-02
  • opencv模板匹配相同位置去除重復(fù)的框

    opencv模板匹配相同位置去除重復(fù)的框

    這篇文章主要介紹了opencv模板匹配相同位置去除重復(fù)的框,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Python?OpenCV超詳細(xì)講解基本功能

    Python?OpenCV超詳細(xì)講解基本功能

    OpenCV用C++語(yǔ)言編寫(xiě),它具有C?++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和Mac?OS,OpenCV主要傾向于實(shí)時(shí)視覺(jué)應(yīng)用,并在可用時(shí)利用MMX和SSE指令,本篇文章帶你了解OpenCV的基本功能
    2022-04-04
  • 淺談在django中使用redirect重定向數(shù)據(jù)傳輸?shù)膯?wèn)題

    淺談在django中使用redirect重定向數(shù)據(jù)傳輸?shù)膯?wèn)題

    這篇文章主要介紹了淺談在django中使用redirect重定向數(shù)據(jù)傳輸?shù)膯?wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • python進(jìn)行相關(guān)性分析并繪制散點(diǎn)圖詳解

    python進(jìn)行相關(guān)性分析并繪制散點(diǎn)圖詳解

    這篇文章主要介紹了python進(jìn)行相關(guān)性分析并繪制散點(diǎn)圖,具有一定借鑒價(jià)值,需要的朋友可以參考下,希望能夠給你帶來(lái)幫助
    2021-09-09
  • 解決numpy矩陣相減出現(xiàn)的負(fù)值自動(dòng)轉(zhuǎn)正值的問(wèn)題

    解決numpy矩陣相減出現(xiàn)的負(fù)值自動(dòng)轉(zhuǎn)正值的問(wèn)題

    這篇文章主要介紹了解決numpy矩陣相減出現(xiàn)的負(fù)值自動(dòng)轉(zhuǎn)正值的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • pandas?dataframe按照列名給列排序三種方法

    pandas?dataframe按照列名給列排序三種方法

    這篇文章主要給大家介紹了關(guān)于pandas?dataframe按照列名給列排序的三種方法,在進(jìn)行數(shù)據(jù)分析操作時(shí),經(jīng)常需要對(duì)數(shù)據(jù)按照某行某列排序,或者按照多行多列排序,以及按照索引值排序等等,需要的朋友可以參考下
    2023-07-07
  • python數(shù)據(jù)處理之如何修改索引和行列

    python數(shù)據(jù)處理之如何修改索引和行列

    這篇文章主要介紹了python數(shù)據(jù)處理之如何修改索引和行列問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Pytest實(shí)現(xiàn)setup和teardown的詳細(xì)使用詳解

    Pytest實(shí)現(xiàn)setup和teardown的詳細(xì)使用詳解

    這篇文章主要介紹了Pytest實(shí)現(xiàn)setup和teardown的詳細(xì)使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • TensorFlow自定義損失函數(shù)來(lái)預(yù)測(cè)商品銷售量

    TensorFlow自定義損失函數(shù)來(lái)預(yù)測(cè)商品銷售量

    這篇文章主要介紹了TensorFlow自定義損失函數(shù)——預(yù)測(cè)商品銷售量,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02

最新評(píng)論