­

Python_函數_參數

  • 2020 年 1 月 19 日
  • 筆記

     def   是函數的關鍵字,Python解釋器一旦執行到def,默認不執行

def li():      n = 8      n +=1      print(n)    li()  li2 = li  li2()

結果:

9  9

return():用於函數返回值,用於中斷函數操作

參數可以是數字,字符串,列表,元組,字典

默認參數:默認參數Python規定放在普通參數後面

def li(a1,a2=11)      print(a1,a2)    li(111)  li(111,222)

結果:

111 11  111 222

指定參數:指定後按指定參數的順序執行

def li(a1,a2)      print(a1,a2)    li(a2=32,a1=8)

結果:

8 32

動態參數

  默認元組: 

def show(*arg):      print(arg,type(arg))    show(33)  show(11,33,66,44,66)

結果:

(33,) <class 'tuple'>  (11, 33, 66, 44, 66) <class 'tuple'>

  默認字典:

def show(**arg):      print(arg, type(arg))    show( n1=123, n2= 'hello',n3=5,)

結果:

{'n1': 123, 'n2': 'hello', 'n3': 5} <class 'dict'>

  默認先插入元組,再插入字典:

def show(*args, **kwargs):      print(args, type(args))      print(kwargs, type(kwargs))    show(11, 22, 44, 55, n1=88, n2='presly')  l = [11, 22, 44, 55,]  d = {'n1': 123, 'n2': 'hello'}  show(l, d)  show(*l,**d)

結果:

(11, 22, 44, 55) <class 'tuple'>  {'n1': 88, 'n2': 'presly'} <class 'dict'>  ([11, 22, 44, 55], {'n1': 123, 'n2': 'hello'}) <class 'tuple'>  {} <class 'dict'>  (11, 22, 44, 55) <class 'tuple'>  {'n1': 123, 'n2': 'hello'} <class 'dict'>

  動態參數實現 字符串格式化:

例:

# s1 = '{0} is {1}'                       # *args的傳參  # l = ['Presly', 'lovely']  # # result = s1.format('Presly', 'lovely')  # result = s1.format(*l)  # print(result)  s1 = '{name} is {acter}'             # **kwargs的傳參  d = {'name': 'Presly', 'acter': 'lovely'}  result = s1.format(**d)  print(result)

結果:

Presly is lovely