国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

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

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

瀏覽:157日期: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 編程
相關文章:
主站蜘蛛池模板: 蚌埠市| 县级市| 文成县| 汉寿县| 岳普湖县| 武夷山市| 安吉县| 武宣县| 茶陵县| 玉溪市| 金阳县| 杂多县| 津南区| 永和县| 镇江市| 牙克石市| 宁阳县| 涞水县| 万载县| 夏津县| 浑源县| 定结县| 铜山县| 武邑县| 昌邑市| 汾西县| 清丰县| 巴中市| 房产| 临漳县| 瑞昌市| 滕州市| 昌黎县| 沿河| 盘锦市| 内丘县| 常山县| 静安区| 福泉市| 胶南市| 隆子县|