python之拆包與裝包


a,b = (11,22)   #一個元組分別賦值給a和b
print(a)
print(b)

num = "saldkfjks"
for i,name in enumerate(num):   #enumerate():括號內可以是一個字符串,列表,元組,字典(字典取的是key的值)
    print(i,name)


def text1(a,b,*args):  *args是一個元組形式,將實參中多余的元素(除去鍵值對形式)接收
    print(a)
    print(b)
    print(args)  #打印出來的是一個元組
    print(*args)  #打印出來的是一個元組的拆分
    print("-"* 50)
    text2(args)   #傳遞的是一個元組(相當於一個元素)
    print("*" * 50)
    text2(*args)  #傳遞的是一個元組的拆分(相當於多個元素)

def text2(a,*args):
    print(a)
    print(args)
    print(*args)

text1(1,2,3,4,5,6)

 結果:

11   ----a
22   ----b

0 s (i與name)
1 a
2 l
3 d
4 k
5 f
6 j
7 k
8 s

1 2 (3, 4, 5, 6) 3 4 5 6
解釋一下:1,2分別傳給a,b;剩下的多余的元素以一個元組的形式傳遞(args代表一個元組;*args代表拆分元組) -------------------------------------------------- (3, 4, 5, 6) #這次傳遞的是一個元組,所以把這個元組當作一個元組傳遞a,那么*args相當於為空 () ************************************************** 3 (4, 5, 6) 4 5 6
這次傳遞的一個拆分后的元組即:3,4,5,6

 2 再來看看**kwargs

def run(a,**kwargs):   #接收的是一個字典
    print(a)
    print(kwargs)     #打印一個字典
  
  print(**kwargs) #不支持這種形式的打印,報錯
run(1,m =19,n=20) run("sd",name="張三")

 結果:

1
{'m': 19, 'n': 20}
sd
{'name': '張三'}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM