久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

Python 3.5,斐波數列, a,b = 0,1

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

問題描述

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

函數是不是直接執行Return 再回到循環體?

初學者還有很多不懂,請多指教,謝謝

問題解答

回答1:

在用下標取值符[]的時候,程序會去訪問對象的__getitem__函數。

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

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

所以f[0] = 0。

不知道怎么回事,就一步一步調試,查文檔。

回答2:

f[0]的話,即 n = 0

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

循環體就直接return了啊,所以是a沒變還是0啊。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 绍兴县| 靖远县| 聂荣县| 玛纳斯县| 汶川县| 青龙| 河津市| 松阳县| 嘉义市| 乐业县| 公安县| 信丰县| 英吉沙县| 温州市| 民县| 论坛| 定陶县| 汤原县| 扬中市| 昌都县| 土默特左旗| 巴青县| 大兴区| 惠州市| 福鼎市| 贞丰县| 德安县| 麻阳| 珲春市| 寻甸| 阳城县| 三门峡市| 特克斯县| 临潭县| 尉氏县| 余江县| 安仁县| 正定县| 栾川县| 合阳县| 宁强县|