1.特性:
---------1.1.可擴充套件性
---------1.2.減少**重複
---------1.3.程式更容易維護
2.函式的引數與區域性變數
---------2.1.函式裡面的 *arges 元組形式儲存,**kwarges 字典方式儲存,可以寫成其他,但是**必須寫
---------2.2.函式裡面入參可以是預設引數,固定引數,位置引數,關鍵字引數,非固定引數的
3.返回值
---------3.1.函式可以return任何值(任意資料型別),對於使用者角度,函式可以返回任意數量的值,對於py來講,函式只能返回乙個值
---------3.2.return代表乙個函式的結束
---------3.3.返回值的作用:一旦函式經過呼叫,並開始執行,那麼函式外部的程式,就沒有辦法
控制函式的執行過程了,此時外部程式只能等待函式的執行結果(返回值)
,外部程式根據函式的執行結果來判斷下一步如何走,,結果就是以
return的形式返回給外部程式。
一.函式二分查詢(遞迴的作用)
dataset = range(0,1000)defdigui(date,find_name):if len(dataset)>0:
midd_num= int(len(date)/2)if date[midd_num] ==find_name:print('找到 :',date[midd_num])elif date[midd_num] >find_name:print('繼續查詢1:',date[0:midd_num],find_name)
digui(date[0:midd_num],find_name)else:print('繼續查詢2:', date[midd_num:],find_name)
digui(date[midd_num:], find_name)else:print('未找到:',find_name)
digui(dataset,34)
二.匿名函式
1.分號前面的代表形參,如果是兩個引數 則 x,y
2.不能跟指定值
cacl = lambda x:x*x
#上面匿名函式呼叫
print(cacl(2))
3.匿名函式的作用
3.1.搭配一些其他方法使用,例如
def cc(x):
return x*x
#map的作用 把後面列表的值取出來 ,交給前面的函式取運算
data = map(cc,range(10))
for i in data:
print(i)
#lambda 的使用方法,一般來說 是 跟map一起使用
data2 = map(lambda n:n*2,range(10))
for i in data2:
print(i)
#三元運算
a =4
b =5
c = a if a>10 else b
#lambada 可以接三元運算子
data = map(lambda n: n*2 if n>5 else n,range(10)) #如果 n>5那麼就*2,否則就n
#可以接函式
data = map(lambda n: n*2 if n>5 else test(n),range(10)) #test(n) 呼叫上面的乙個函式
三.高階函式
乙個函式作為另乙個函式的入參,這個函式就稱為高階函式
abs(),把負值轉換為正值
四。函式式程式設計
程式設計正規化
1.面向過程
2.物件導向(重點)
3.函式式程式設計
python函式裝飾函式 Python函式裝飾器
本文來介紹一下python的函式裝飾器,類裝飾器以後另開一文講。裝飾器可以看做是python中的乙個語法糖,基本的寫法示例如下 defdecorator func returnfunc decoratordeffunction print 666 decorator即是function的裝飾器,在f...
python函式程式 python函式
1.位置引數 位置引數就是普通的引數定義 def power x print x 2 2.預設引數 當呼叫函式時沒有給引數值,那麼會給使用定義的預設值。下面定義的函式可以定義引數值也可以不定義,不定義時x預設為9 def power x 3 print x 2 預設引數注意事項,當預設引數使用的是可...
python常用函式 python常用函式精講
返回值為bool型別的函式 bool是boolean的縮寫,只有真 true 和假 false 兩種取值 bool函式只有乙個引數,並根據這個引數的值返回真或者假。引數如果預設,則返回false 引數轉換使用標準的邏輯測試表示式 傳入布林型別時,按原值返回 傳入字串時,空字串返回false,否則返回...