第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

為什么不能直接 print calc_prod([1, 2, 3, 4])還要另設(shè)變量f,不會(huì)和返回函數(shù)最里層的f(x,y)混淆嗎

為什么不能直接 print calc_prod([1, 2, 3, 4])還要另設(shè)變量f,不會(huì)和返回函數(shù)最里層的f(x,y)混淆嗎

正在回答

2 回答

calc_prod([1, 2, 3, 4] 的返回值類似函數(shù)的引用,不是函數(shù)值,需要后面加上()才能得到最后結(jié)果,其實(shí)你可以print calc_prod([1, 2, 3, 4])()試試。另外里層函數(shù)外面是調(diào)用不到的,不存在混淆。


0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

qq_盛夏_10 提問(wèn)者

非常感謝!
2018-04-08 回復(fù) 有任何疑惑可以回復(fù)我~
#!/usr/bin/env?python
#?-*-?coding:?utf-8?-*-
'''
任務(wù)
請(qǐng)編寫一個(gè)函數(shù)calc_prod(lst),它接收一個(gè)list,返回一個(gè)函數(shù),返回函數(shù)可以計(jì)算參數(shù)的乘積。
'''

#?第一種方法:
def?calc_prod(lst):
????def?prod():
????????return?reduce(lambda?x,?y?:?x?*?y,?lst)
????return?prod
f?=?calc_prod([1,?2,?3,?4])
print?f()

#?輸出結(jié)果:24


#?第二種方法:

def?f(x,?y):
????return?x?*y
lst?=?[1,?2,?3,?4]
#?reduce()傳入的函數(shù)?f?必須接收兩個(gè)參數(shù)
#?reduce(2個(gè)函數(shù),列表,初始化值)
print?reduce(f,?lst)

#?輸出結(jié)果:24


def?calc_prod(lst):
????def?f(x,y):
????????return?x?*?y
????return?reduce(f,?lst,?1)
#?返回函數(shù)調(diào)用的結(jié)果,返回值是一個(gè)數(shù)值
print?calc_prod([1,?2,?3,?4])

#?輸出結(jié)果:24


#延遲計(jì)算定義函數(shù)
def?calc_prod(lst):
????#?定義一個(gè)函數(shù)c
????def?c():
????????def?f(x,?y):
????????????return?x?*?y
????????return?reduce(f,?lst,?1)
????#?返回函數(shù)c
????return?c
s?=?calc_prod([1,?2,?3,?4])?#?變量s?是calc_prod(lst)返回的函數(shù)c
print?s()?#?調(diào)用s()就是執(zhí)行c()函數(shù)定義的代碼

#?輸出結(jié)果:24


1 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
python進(jìn)階
  • 參與學(xué)習(xí)       255552    人
  • 解答問(wèn)題       3038    個(gè)

學(xué)習(xí)函數(shù)式、模塊和面向?qū)ο缶幊蹋莆誔ython高級(jí)程序設(shè)計(jì)

進(jìn)入課程

為什么不能直接 print calc_prod([1, 2, 3, 4])還要另設(shè)變量f,不會(huì)和返回函數(shù)最里層的f(x,y)混淆嗎

我要回答 關(guān)注問(wèn)題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)