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

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

為什么不能直接sum(fn(*args))

http://img1.sycdn.imooc.com//58ca51650001157504130277.jpg

用fn(*args)可以得到(1,2,3,4,5),用sum(1,2,3,4,5)可以得到15,為什么這兩個都成立但sum(fn(1,2,3,4,5))不對?

正在回答

3 回答

fn()只是輸出了12345 并沒有return(1,2,3,4,5) ?sum函數獲得的是null

def fn(*args):

? ? return args


print(sum(fn(1,2,3,4,5)))

這樣才行

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

慕粉1450121606 提問者

非常感謝!
2017-03-17 回復 有任何疑惑可以回復我~

語法有問題

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

慕粉1450121606 提問者

具體一點是為什么不可以這樣呢
2017-03-16 回復 有任何疑惑可以回復我~

python允許在定義函數的時候,其函數體內又包含另外一個函數的完整定義,這就是我們通常所說的嵌套定義。為什么?因為函數是用def語句定義的,凡是其他語句可以出現的地方,def語句同樣可以出現。
像這樣定義在其他函數內的函數叫做內部函數,內部函數所在的函數叫做外部函數。當然,我們可以多層嵌套,這樣的話,除了最外層和最內層的函數之外,其它函數既是外部函數又是內部函數

def?fm(*args):
????print?sum(args)
print?fm(1,2,3,4,5)


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

慕粉1450121606 提問者

我懂你的代碼了 但是不知道這個跟你的文字有什么關系 你的代碼并沒有嵌套定義函數啊 我主要想知道為什么我那樣寫是錯誤的
2017-03-16 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
初識Python
  • 參與學習       758392    人
  • 解答問題       8967    個

學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序

進入課程

為什么不能直接sum(fn(*args))

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

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

幫助反饋 APP下載

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

公眾號

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