一、高階函數-排序 1.定義:把一個序列按照給定演算法進行排序 2.key:在排序前對每一個元素進行key函數運算,可以理解成按照key函數定義的邏輯進行排序 3.python2和python3相差巨大 二、返回函數 1.函數也可以返回具體的值;也可以返回一個函數作為結果 2.我們接下來舉例,只舉第二 ...
一、高階函數-排序
1.定義:把一個序列按照給定演算法進行排序
2.key:在排序前對每一個元素進行key函數運算,可以理解成按照key函數定義的邏輯進行排序
3.python2和python3相差巨大
#help(sorted) #排序案例1 a = [526,6,5565,323,596,265,6256] #升序輸出 al = sorted(a) #降序輸出 ap = sorted(a,reverse=True) print(al) print(ap) #排序案例2 b = [514,56,25,526,-54,-54156,4,54,-415] #按照絕對值排序 #abs是求絕對值的意思 a1 = sorted(b,key=abs,reverse=True) print(a1) #sorted案例 astr = ['dana','Dana','youxiu','asdhj'] a2 = sorted(astr) print(a2) a3 = sorted(astr,key=str.lower) print(a3)
二、返回函數
1.函數也可以返回具體的值;也可以返回一個函數作為結果
2.我們接下來舉例,只舉第二段話的例子
def myF2(): def myF3(): print("再試一下結果") return 3 return myF3 f3 = myF2() print(type(f3)) print(f3) print("------分割線------") print(f3())
從返回值裡面看出反回了一個類函數,然後我們運行了這個函數。
三、負責一點的返回函數的例子args:參數列表
註:(1)myF4定義了函數,返回內部函數定義的myF5;(2)myF5定義了外部變數,這個變數是myF4的參數
def myF4(*args): #*args中的星號是讓Python創建一個名為args的空元組 def myF5(): rst = 0 for n in args: rst += n return rst return myF5 f5 = myF4(2,8,54,652,6526,6) print(f5())
對比一下
def myF6(*args): rst = 0 for n in args: rst += n return rst f6 = myF6(2,8,54,652,6526,6) print(f6)
總結:其實這個和上面函數得數一樣,但是下麵更好理解一些,這裡就是為了做一個能夠返回函數的演示,而且最本質的區別在於,一個是返回函數一個是返回值。
之所以要更複雜,是因為在企業的開發中返回函數更具有安全性要求,我們對函數可以進行加密。
四、源碼:
d20_1_sorted_function&return_function_of_function
地址:https://github.com/ruigege66/Python_learning/blob/master/d20_1_sorted_function%26return_function_of_function
2.CSDN:https://blog.csdn.net/weixin_44630050(心悅君兮君不知-睿)
3.博客園:https://www.cnblogs.com/ruigege0000/
4.歡迎關註微信公眾號:傅里葉變換,後臺回覆”禮包“,獲取大數據學習資料。