小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

python中的組包與解包

 xiaoyimin 2019-12-11

關(guān)于【組包與解包】:
組包: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ù),可變關(guān)鍵字參數(shù)):
  pass

解包:func(*args,**kwargs) 與 func(args,kwargs)返回的數(shù)據(jù)不同,* 或者**具有解包的作用,*用來將普通參數(shù)元組解開,**用來將關(guān)鍵字參數(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}) 結(jié)果為:((10, 20), {'n': 30, 'm': 40}) {}
  10.   func1(*args,**kwargs) # func1( 10, 20 , n=30,m=40) 結(jié)果為:(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)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多