日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

python中的組包與解包

 xiaoyimin 2019-12-11

關于【組包與解包】:
組包:python解釋器自動將多個數(shù)據(jù)組裝到一個容器中
解包:將容器中的多個數(shù)據(jù)拆出來
組包: 解釋器把1,2,3自動組包成一個元組,然后賦值給a,a的類型就是元組類型的
  a = 1,2,3 # 相當于 a = (1,2,3)
  print(a) # (1, 2, 3)
  print(type(a)) # <class 'tuple'>

#解包: 解釋器會自動對元組(1,2)進行 解包,然后把1賦值給m,把2賦值給n,把3賦值給3
  m,n,k = (1,2,3) # m=1,n=2,k=3
  print(m) # 1
  print(n) # 2
  print(k) # 3 

函數(shù)使用參數(shù)可以使函數(shù)變得更加通用,增加擴展性。參數(shù)的順序有講究,定義函數(shù)時,【形參順序】
def func(位置參數(shù),可變位置參數(shù),默認參數(shù),可變關鍵字參數(shù)):
  pass

解包:func(*args,**kwargs) 與 func(args,kwargs)返回的數(shù)據(jù)不同,* 或者**具有解包的作用,*用來將普通參數(shù)元組解開,**用來將關鍵字參數(shù)字典解開。**kwargs只能在調(diào)用函數(shù)時使用。 

下面通過兩個小例子幫助理解
1.

  1. def func1(*args ,**kwargs):
  2.   print(args) # (10, 20) # ( (10, 20) , {'n': 30, 'm': 40})
  3.   print(kwargs) # {'n': 30, 'm': 40}
  4. def func2(* args ,** kwargs):
  5.   #print(args) # (10, 20)
  6.   #print(kwargs) # {'n': 30, 'm': 40}
  7.   #解包:* args -> *(10,20)->10,20
  8.   #解包:** kwargs -> **{'n': 30, 'm': 40}-> n=30,m=40
  9.   #func1(args,kwargs) # func1( (10, 20) , {'n': 30, 'm': 40}) 結果為:((10, 20), {'n': 30, 'm': 40}) {}
  10.   func1(*args,**kwargs) # func1( 10, 20 , n=30,m=40) 結果為:(10, 20) {'n': 30, 'm': 40}
  11. func2(10,20,n=30,m=40) # func2((10,20), {'n': 30, 'm': 40})

2.

  1. a = range(8)
  2. print(*a) # 解包 0 1 2 3 4 5 6 7
  3. b = [1,2,3]
  4. print(*b) #1 2 3

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多