久久久精品2019免费观看_亚洲国产精品成人久久久_69国产成人综合久久精品91_国产精品久久精品视

Python for+range

我們先打開CMD,在交互式界面上看range的用法。

在Python3和Python2中,range是不一樣的,在cmd界面Python2中,打印range(10),會顯示[1,2,3,4,5,6,7,8,9]。顧頭不顧尾的原則,0要,10不要。

在cmd界面Python3中,打印range(10)。

Python3給我們做了一步空間上的優(yōu)化,它是一個迭代器,這個還是得到我們講可迭代對象的時候才能講。

我可以簡單的給你做個比喻,在Python2的range(10),相當(dāng)于給了我們一個筐,筐里裝了10個雞蛋。但是在Python3的range(10),相當(dāng)于給了我們一只可以下10個雞蛋的老母雞。

剛剛我們說Python3的range給我們做了一步空間上的優(yōu)化,大家現(xiàn)在想是一筐雞蛋更占空間還是一只會下蛋的老母雞更占空間,可能10個雞蛋不好判斷,那么1000個雞蛋和會下1000個雞蛋的老母雞那個更占空間?

肯定是1000個雞蛋更占空間,我們往更夸張的想法去想。如果你寫了一個range一個億,那Python2就真的會給你生成一個億數(shù)字的列表,直接把內(nèi)存給撐爆。但是Python3不會,因為是一個迭代器,一只會下蛋的老母雞它就只占一個內(nèi)存地址。你每次要下蛋的時候就給它發(fā)個請求,你給我下個蛋,它就會下個蛋。這樣能理解吧。

雖然Python2和Python3里面range有些不一樣,但是我們在for循環(huán)加range的時候用法還是一樣的。

for i in range(10):
    print('于謙')

對于Python3來說,每次循環(huán)都是告訴這個可以下10個雞蛋的老母雞,給我下個蛋,直到把10個蛋全部下完,就循環(huán)了10次。

雖然原理不同,但是用法和結(jié)果還是一樣的,都會打印10次于謙。

未經(jīng)允許不得轉(zhuǎn)載:445IT之家 » Python for+range

贊 (0) 打賞

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

微信掃一掃打賞