成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python 3.5,斐波數(shù)列, a,b = 0,1

瀏覽:139日期:2022-08-31 13:28:22

問(wèn)題描述

class Fib(object):

def __getitem__(self, n): a, b = 0, 1 for x in range(n):a, b = b, a + b return a

f = Fib()f[0] = 0

不解為什么是f[0] = 0

函數(shù)是不是直接執(zhí)行Return 再回到循環(huán)體?

初學(xué)者還有很多不懂,請(qǐng)多指教,謝謝

問(wèn)題解答

回答1:

在用下標(biāo)取值符[]的時(shí)候,程序會(huì)去訪(fǎng)問(wèn)對(duì)象的__getitem__函數(shù)。

f[0] 相當(dāng)于 f.__getitem__(self, 0) ,n賦值為0

a = 0, b = 1for x in range(0): # 這里range(0) 直接跳過(guò) a, b = b, a + breturn a # a = 0

所以f[0] = 0。

不知道怎么回事,就一步一步調(diào)試,查文檔。

回答2:

f[0]的話(huà),即 n = 0

for x in range(n): a, b = b, a + b

循環(huán)體就直接return了啊,所以是a沒(méi)變還是0啊。

標(biāo)簽: Python 編程
相關(guān)文章: