首頁>技術>

(1)

def calc(a,b):#a,b稱為形式引數,簡稱形參,

c=a+b

return c

sum=calc(1,2)#1,2稱為實際引數,簡稱實參

print(sum)

#位置實參,按照順序傳遞

result=calc(b=2,a=1)#a和b稱為關鍵字引數

print(result)

#關鍵字實參,按照關鍵字傳遞

(2)

需要注意的是在函式呼叫過程中,進行引數的傳遞,如果是不可變物件,在函式體的修改不會影響實參的值,如果是可變物件,在函式體的修改會影響到實參的值。例子如下:

def fun(arg1,arg2):    print('arg1=',arg1)#輸出arg1= 11    print('arg2=',arg2)#輸出arg2= [22, 33, 44]    arg1=100    arg2.append(10)    print('arg1=',arg1)#輸出arg1= 100    print('arg2=',arg2)#輸出arg2= [22, 33, 44, 10]num1=11num2=[22,33,44]print(num1) #輸出11,最先執行print(num2)#輸出[22, 33, 44]print('*****')#輸出*****fun(num1,num2)print(num1)#輸出11,整數不是可變物件,經過函式體以後,還是11print(num2)#輸出[22, 33, 44, 10],因為列表是可變物件,經過函式體以後,現在加了10

(3)函式的返回值,如果是1個,直接返回。如果是多個,會返回元組。如果沒有返回值,return可以不寫。

def fun1():    return 'hello'res=fun1()print(res)#輸出hello def fun2():    return 'hello','world'res1=fun2()print(res1)#輸出('hello', 'world')

(4)函式定義時,使用*定義個數可變的位置形參,結果為一個元組. 使用**定義個數可變的關鍵字形參,結果為一個字典。而且位置形參要放在關鍵字形參之前。

def fun(*args):#函式定義時,使用*定義個數可變的位置形參,結果為一個元組    print(args) fun(10)##輸出(10,)fun(20,30)#輸出(20, 30) def fun1(**args):#函式定義時,使用**定義個數可變的關鍵字形參,結果為一個字典    print(args)fun1(a=10)#輸出{'a': 10}fun1(a=1,b=2,c=3)#輸出{'a': 1, 'b': 2, 'c': 3} def fun2(a,b,c):    print(a,b,c)#輸出1 2 3lst=[1,2,3]fun2(*lst)#前面加個*,就可以將列表中的每個元素都轉換為位置實參傳入dic={'a': 1, 'b': 2, 'c': 3}fun2(**dic)#前面加**,就可以將字典中的每個元素都轉換為關鍵字實參傳入

7
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 使用Golang把氣象資料渲染成圖片