3、python的傳入參數


轉載:https://blog.csdn.net/abc_12366/article/details/79627263

1、位置參數:

def func(a, b):

  print(a+b)

func(1, 2) #3

2、默認參數,默認參數就是在調用函數的時候使用一些包含默認值的參數

def jia(a,b=6):
  print(a+b)

jia(4)##10

3、可變參數,就是允許在調用參數的時候傳入多個(≥0個)參數(類似於列表、字典)

#傳入一個列表,嚴格地說這不是可變參數

def calc(l):

  sum = 0

  for n in l:

    sum += n

  return sum

 calc([1,2,3]) ##7

#這才是可變參數,雖然在使用上和列表沒有區別,但是參數nums接收到的是一個tuple(這些參數在傳入時被自動組組裝為一個元祖)

def calc(*nums):

  sum = 0

  for n in nums:

    sum += n

  return sum

calc([1,2,3]) ##7

4、關鍵字參數

可變參數允許傳入0個~多個參數,而關鍵字參數允許在調用時以字典形式傳入0個或多個參數(注意區別,一個是字典一個是列表);在傳遞參數時用等號(=)連接鍵和值

#用兩個星號表示關鍵字參數 def person_info(name, age, **kw): print("name", name, "age", age, "other", kw) >>> person_info("Xiaoming", 12) name Xiaoming age 12 other{} >>> person_info("Dahuang", 35, city = "Beijing") name Dahuang age 35 other {'city':'Beijing'}

參數組合總結

總結一下,在Python中一種可以使用5中傳遞參數的方式(位置參數、默認參數、變長參數、關鍵字參數、命名關鍵字參數)

注意,這些參數在書寫時要遵循一定的順序即:位置參數、默認參數、變長參數、關鍵字參數、命名關鍵字參數(和本文的行文順序一致)

這里簡單舉兩個栗子

def f1(a, b, c=0, *args, **kw): print("a = ", a, "b = ", b, "args = ", args, "kw = ",kw) def f2(a, b, c=0, *, d, **kw): print("a = ", a, "b = ", b, "c = ", c, "d = ", d, "kw = ", kw) >>> f1(1, 2) a = 1 b = 2 c = 0 args =() kw = {} >>> f1(1, 2, c=3) a = 1 b = 2 c = 3 args = () kw = {} >>> f1(1, 2, 3, 'a', 'b') a = 1 b = 2 c = 3 args = ('a', 'b') kw = {} >>> f1(1, 2, 3, 'a', 'b', x = 99) a = 1 b = 2 c = 3 args = ('a', 'b') kw = {'x':99} >>> f2(1, 2, d = 99, ext = None) a = 1 b =2 c = 0 d = 99 kw = {'ext':None}
 


免責聲明!

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



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