PYTHON 生成器和普通函式的區別

2022-08-31 12:15:13 字數 464 閱讀 1744

>>> range(6) 

[0, 1, 2, 3, 4, 6

>>>a=range(6)

>>>type(a) '

list

'>

>>>xrange(6)

xrange(6)

>>>list(xrange(6))

[0, 1, 2, 3, 4, 5

>>>b=range(6)

>>>type(b)

'xrange

'>

由上面的示例可以知道:

range是儲存成乙個list,xrange是每次呼叫生成乙個。要生成很大的數字序列的時候,用xrange會比range效能優很多,因為不需要直接占用很大的記憶體空間,需要用到的時候就直接生成乙個。所以xrange做迴圈的效能比range好,尤其是返回很大的時候,盡量用xrange吧,除非你是要返回乙個列表。 

生成返回PYTHON 生成器和普通函式的區別

最近研究生成返回,稍微總結一下,以後繼續補充 range 6 0,1,2,3,4,6 a range 6 type a list 每日一道理 共和國迎來了她五十誕辰。五十年像一條長河,有急流也有緩流 五十年像一幅長卷,有冷色也有暖色 五十年像一首樂曲,有低音也有高音 五十年像一部史詩,有痛苦也有歡樂...

python生成器函式 Python 生成器函式

一 生成器 生成器指的是生成器物件,可由生成器表示式得到,也可使用 yield 關鍵字得到乙個生成器函式,呼叫這個函式得到乙個生成器物件 生成器物件,是乙個可迭代物件,是乙個迭代器 生成器物件,是延遲計算 惰性求值的 1.1 生成器函式 函式體重包含 yield 語句的函式,就是生成器函式,呼叫後返...

python 生成器函式

python 函式的定義體中有 yield 關鍵字,該函式就是生成器函式。呼叫生成器函式時,會返回乙個生成器物件。生成器函式的定義體執行完畢後,生成器物件會丟擲stopiteration 異常。def gen a print start yield 1 print starting yield 2 ...