Python連載17-排序函數&返回函數的函數

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.歡迎關注微信公衆號:傅里葉變換,後臺回覆」禮包「,獲取大數據學習資料。

相關文章
相關標籤/搜索