day11總結(jié)

python中聲明函數(shù)是什么意思?

python中聲明函數(shù)就是聲明類(lèi)型是function的變量, 函數(shù)名就是變量名。

變量作為函數(shù)的參數(shù)

def func2(x):
    print('函數(shù)里面:', x)


a = 10
func2(a)
func2(func1)

變量作為函數(shù)的返回值

def func3(x, y):
    num = x + y
    return num


print(func3(1, 2))


def func4():
    def func5():
        print('函數(shù)5')

    return func5


print(func4())
func4()()
裝飾器的組成

裝飾器 = 實(shí)參高階函數(shù) + 返回值高階函數(shù) + 糖語(yǔ)法
1.實(shí)參高階函數(shù)
有一個(gè)參數(shù)是函數(shù)的函數(shù)就是實(shí)參高階函數(shù)

問(wèn)題1: 按個(gè)位數(shù)的大小對(duì)num中的元素從小到大排序

# [90, 90, 1, 23, 74, 78]
def func1(item):
    return item % 10


num = [1, 78, 90, 23, 74, 90]
num.sort(key=func1)
num.sort(key=lambda item: item % 10)
print(num)

問(wèn)題2: 按各位數(shù)之和從大到小排序

# 1, 15, 9, 5, 11, 9   -> [78, 74, 90, 90, 23, 1]
num = [1, 78, 90, 23, 74, 90]


def func2(item):
    sum = 0
    for x in str(item):
        sum += int(x)
    return sum


num.sort(reverse=True, key=func2)
print(num)

1.返回值高階函數(shù)
函數(shù)的返回是一個(gè)函數(shù),這樣的函數(shù)就是返回值高階函數(shù)
情況一: 真正的返回值高階函數(shù)

def func1():
    def func2():
        print('函數(shù)2')
    return func2

情況二: 假的返回值高階函數(shù)

def func3():
    print('函數(shù)3')

def func4():
    return func3

練習(xí): 聲明一個(gè)函數(shù)operation,要求可以接收一個(gè)字符參數(shù), 最后根據(jù)字符值的不同返回不同功能的函數(shù)

+ -> 求多個(gè)數(shù)和功能的函數(shù) - -> 求多個(gè)數(shù)的差的功能的功能, * -> 求多個(gè)數(shù)的乘積的功能

operation('+')(1, 2, 4, 5) -> 12

operation('-')(1, 2, 4, 5) -> -10

operation('*')(1, 2, 4, 5) -> 40

def operation(char):
    # char = '+'
    if char == '+':
        def sum(*args):
            # args = (1, 2, 4, 5)
            temp = 0
            for x in args:
                temp += x
            return temp
        return sum

    elif char == '-':
        def diff(*args):
            temp = args[0]
            for x in args[1:]:
                temp -= x
            return temp
        return diff


print(operation('+')(1, 2, 4, 5))
print(operation('-')(1, 2, 4, 5))
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 生成式 生成式就是生成器的簡(jiǎn)寫(xiě) 1)語(yǔ)法1 生成器 = (表達(dá)式 for 變量 in 序列) a.說(shuō)明:表達(dá)式 -...
    oct___越來(lái)越2閱讀 194評(píng)論 0 1
  • """ = = = HJR = = = """ 1.生成式 生成式就是生成器的簡(jiǎn)寫(xiě) 1)語(yǔ)法一 生成器 = ...
    舉顆鳳梨閱讀 268評(píng)論 0 1
  • 0.什么是函數(shù)、什么是需要使用函數(shù) 對(duì)實(shí)現(xiàn)某一特定功能的代碼段的封裝 1.函數(shù)的聲明 def 函數(shù)名(參數(shù)列表):...
    Sun_092b閱讀 369評(píng)論 0 0
  • 1. 運(yùn)算符 1.1 三目運(yùn)算符 Java支持三元運(yùn)算符 ?: condition?expression1:exp...
    Jasonlulu閱讀 646評(píng)論 0 0
  • 長(zhǎng)樂(lè)未央 by 淺淺兮 ...
    琉璃樹(shù)I淺淺兮閱讀 514評(píng)論 2 2

友情鏈接更多精彩內(nèi)容