標籤:操作 one 沒有 lob 表示 color glob sof *args
def (*args): print(args,type(args))li = [11,22,33,44]f1(li) #將li作為*args,輸出一個只有一個li元素的tuplef1(*li) #加*相當li中的元素遍曆並加入到tuple#列印結果([11,22,33,44])(11,22,33,44)def (**keargs): print(kwargs,type(kwargs))dic = {‘k1‘:123,‘k2‘:345}#f1(dic)錯誤的f1(k1=dic)f1(**dic) #傳字典的方式#列印結果{‘k1‘: {‘k1‘: 123, ‘k2‘: 345}} <class ‘dict‘>{‘k1‘: 123, ‘k2‘: 345} <class ‘dict‘>
一、文法:
def 函數名(): 函數體 return 值
Α.return傳回值,如果沒有傳回值,預設返回None
B.在函數中只要執行了return,該函數下面的代碼不在執行
二、參數
A.形式參數
B.實際參數
C.預設參數:預設參數一定要放在尾部,否則會報錯
D.動態參數
def f(*args): print(args) #a的類型變成了tuple,只能傳入的參數只能是tuple的元素def f1(**kwargs): #也是動態參數,但是必須傳字典類型的值,key=values的形式傳值 print(kwargs)
E.萬能參數:def (p,*args,**kwargs): #表示上述的綜合。*a返回的是一個tuple,傳的也是tuple的元素,**a返回的是dict,傳入的也是dict元素
F.為動態參數傳入list、tuple、元組
def (*args): print(args,type(args))li = [11,22,33,44]f1(li) #將li作為*args,輸出一個只有一個li元素的tuplef1(*li) #加*相當li中的元素遍曆並加入到tuple
#列印結果([11,22,33,44])(11,22,33,44)-----------------------------分割線---------------------------def (**keargs): print(kwargs,type(kwargs))dic = {‘k1‘:123,‘k2‘:345}#f1(dic)錯誤的f1(k1=dic) #建立了一個只有一個key(k1)的值為dic的字典f1(**dic) #傳字典的方式#列印結果{‘k1‘: {‘k1‘: 123, ‘k2‘: 345}} <class ‘dict‘>{‘k1‘: 123, ‘k2‘: 345} <class ‘dict‘>
G.全域變數
# 聲明全域變數 用大寫
P = 135 def fun1(): a = 123 #局部,只能在函數體中調用 global P #全域變數,所有函數又能共用的。在函數中可以用global P 就可以對P進行操作。 P= 246 print(a,P)def fun2(): a = 456 #局部,只能在函數體重調用 print(a,P) #這個P值變成了246 說明全域變數P的值被修改成功了fun1()fun2()
#列印結果
123 246
456 246
python函數 day-3