1、高階函數-排序python
1.定義:把一個序列按照給定算法進行排序git
2.key:在排序前對每個元素進行key函數運算,能夠理解成按照key函數定義的邏輯進行排序github
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)
2、返回函數安全
1.函數也能夠返回具體的值;也能夠返回一個函數做爲結果微信
2.咱們接下來舉例,只舉第二段話的例子函數
def myF2(): def myF3(): print("再試一下結果") return 3 return myF3 f3 = myF2() print(type(f3)) print(f3) print("------分割線------") print(f3())
從返回值裏面看出反回了一個類函數,而後咱們運行了這個函數。學習
3、負責一點的返回函數的例子args:參數列表大數據
注:(1)myF4定義了函數,返回內部函數定義的myF5;(2)myF5定義了外部變量,這個變量是myF4的參數ui
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)
總結:其實這個和上面函數得數同樣,可是下面更好理解一些,這裏就是爲了作一個可以返回函數的演示,並且最本質的區別在於,一個是返回函數一個是返回值。
之因此要更復雜,是由於在企業的開發中返回函數更具備安全性要求,咱們對函數能夠進行加密。
4、源碼:
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.歡迎關注微信公衆號:傅里葉變換,後臺回覆」禮包「,獲取大數據學習資料。