亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

文中例子:f()這里輸出10?

def calc_sum(lst):
? ?def lazy_sum():
? ? ? ?return sum(lst)
? ?return lazy_sum

>>> f = calc_sum([1, 2, 3, 4])

>>> f

>>> f()
10

1.最后一步這里f()沒有輸入東西,為什么輸出結果是10呢?這種f()的格式是什么意思呢?

2.我嘗試f([1,2,3])提示我不能輸入:TypeError: lazy_sum() takes no arguments (1 given)

? 我就猜測文中這里f = calc_sum([1, 2, 3, 4])=lazy_sum([1,2,3,4])=sum([1,2,3,4])=10

? 是不是讓f是一個數字了呢??但是我嘗試print f 是沒有輸出的

哪位大神能告訴我這個地方f 到底是什么?f()又是什么呢?

正在回答

2 回答

f=calc_sum() ? ?--->返回值:無

f ? ? ? ? ? ? ? ? ? ? ? ?---> 返回函數:lazy_sum()

f() ? ? ? ? ? ? ? ? ? ? ---->返回值:lazy_sum的值

1 回復 有任何疑惑可以回復我~

# 請仔細往下看


>>> def calc_sum(lst):

? ?def lazy_sum():

? ? ? ?return sum(lst)

? ?return lazy_sum


>>> f = calc_sum([1, 2, 3, 4])

>>> f????# 函數名是一個對象(其實就是個地址) 指向0x022DFF70這個空間

<function lazy_sum at 0x022DFF70> ? # ?這里講到了 lazy_sum 是一個function(函數)

>>> f() ?# 函數地調用當然要有括號了呀

10

>>>?


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
python進階
  • 參與學習       255563    人
  • 解答問題       3038    個

學習函數式、模塊和面向對象編程,掌握Python高級程序設計

進入課程

文中例子:f()這里輸出10?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號