一、函式 注:當乙個函式名字由兩個單詞組成的時候 ,第二個單詞的首字母大寫(統一)
當我們定義乙個函式的時候 用def語句
def 函式名(引數列表,可以沒有引數): 比如
i=1j=2
def add(a,b):
return a+b
print add(i,j)
二、關於函式形預設引數
注:假如函式是有形參的 ,則可以在宣告函式的時候給形參設定預設值,這樣我呼叫該函式時不給該函式形參也是可以的
比如 def add(a=0,b=0):
return a+b
add() 不會出錯
或者 def add(a,b=0) 呼叫的時候add(2) 則a=2 b使用預設的值 即 b=0
如果是 def add(a=0,b) 呼叫的時候add(2) 是錯誤的。因為 對於這個呼叫a=2,然而b並沒有預設值所以提示出錯
結論:對於形參 預設順序一定是從右向左定義的
加入def add(a=1,b=2): 如果想只給形參b賦值 而a使用預設形參 則可以add(b=3)
三、可以用global 宣告乙個變數為全域性變數。即global x x=100(注意 是宣告 不能global x=100)
當然啦,在程式函式體外面的變數都是全域性變數。只不過是說可以在函式體內global 乙個變數為全域性變數,但是該函式必須呼叫該變數才能生效。
四、函式返回值 函式預設返回none
五、向函式傳元祖和字典
def fun(x,y):
print x,y
假如 t=(1,2) fun(t)會提示出錯的 形參個數不匹配
fun(t,4) 這樣是可以的 會輸出(1,2) 4
注:加入某個元祖的資料剛好和函式的形參一一對應,即引數個數匹配,則可以這樣將元祖的資料作為函式的引數:t=(1,2) fun(*t) //沒錯 在元祖前面加乙個星號即可
對於字典來說假如dic= def func(name,age): 則可以這樣將字典資料作為函式的引數 func(**dic) ,(注意,字典的鍵值名稱一定要和函式形參名稱一樣)
六、處理多餘實參。即實參個數對於形參個數
def func(x,*args):
print x
print args (在這裡args其實是被當做元祖了)
比如 func(1) 輸出1 () func(1,2,3,4)會輸出 1 (2,3,4)
對於字典 假如
def func(x,**args):
print x
print args
假如 func(1,y=2) 則會輸出 1 (注意,有對映關係的才是字典 比如a=1,name="phf"之類的)
假設 def func(x,*args,**dics) print x print args print dics
呼叫函式時 func(1,2,『a』,'xiaoli',『c』,y="phf",m=24) 則是x=1 將(2,『a』,'xiaoli',『c』)當做元祖 而y='phf' 和m=23當做字典
七、匿名函式 :省去定義函式名字了 。。
注意、 定義格式為 ;
lambda 引數1,引數2(引數個數隨意):返回值 //冒號前面是引數 後面是返回值
比如 func=lambda x,y,z:x*y*z 呼叫該函式func(1,2,3) 輸出6
八、reduce 內建函式
比如reduce(lambda x,y:x*y,[1,2,3,4]) 輸出1*2*3*4
或者 比如
def func(x,y) :
return x*y
l=[1,2,3,4]
reduce(func,l)輸出1*2*3*4=24
九、switch語句 注意:python並沒有實現switch語句 但是可以用字典來實現
補充 :對於字典 有幾個方法經常用到 比如 dd=
dd.get(key) 獲得key對應的value值 dd.keys() 獲得字典的key列表 dd.values()獲得字典的值列表
下面通過字典來實現switch 結構
def add(a,b):
return a+b
def minu(a,b):
return a-b
乘除法這裡不寫了
dic=
則 dic.get('+') 表示的是字典裡'+' 對應的value值,即 add ,然而add在這裡指的是add這個函式 因此本質上是呼叫add這個函式
因此可以想下面這樣呼叫函式
dic.get('+')(3,2) 結果是3+2=5
或者可以這樣直接在字典裡面實現分支結構
dic={
'+':x+y,
'-':x-y,
'*':x*y,
'/':x/y
print dic.get(『+』) 即可
Python學習之函式
0 引論 函式是實現 復用的主要途徑之一,而且函式的使用也可以使得程式更加容易理解,更加規範化。程式很多時候並不是給計算機的,而是給人看的。這裡總結一下python中的函式的應用 1 函式 首先python中的函式的格式是怎樣的。def 函式名 形參 函式體 下面是乙個計算fibonacci數列的函...
python學習之函式
抽象 斐波那契數列 fibs 0,1 for i in range 10 print fibs fibs 0,1 i 2 while i 20 i 1 print fibs 使用callable判斷函式是否可以呼叫 import math x 1 y math.sqrt print callable...
Python學習 之 函式
概念高階用法 語法 關鍵字 函式名 引數列表 函式體引數順序 位置引數 a,b,c 未知數量位置引數,args,接收進函式內的型別為 tuple 關鍵字引數 key none 未知關鍵字引數,kwargs,接收進函式內的型別為 dict 順序 位置引數 args 關鍵字引數 kwargs deffu...