欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python yield關鍵詞案例測試

 更新時間:2019年10月15日 14:26:08   作者:授客  
這篇文章主要介紹了python yield關鍵詞案例測試,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

測試環(huán)境

win10

python 3.5

yield功能簡介

簡單來說,yield 的作用就是把一個函數(shù)變成一個 generator,帶有 yield 的函數(shù)不再是一個普通函數(shù),Python 解釋器會將其視為一個 generator

代碼演示

例子1: 輸出斐波那契數(shù)列前 N 個數(shù)

#!/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = 'shouke'
def fab(max):
  n, a, b = 0, 0, 1
  result = []
  while n < max:
    result.append(b)
    a, b = b, a + b
    n = n + 1
  return result
for n in fab(5):
  print(n)

以上代碼雖然可以滿足需求,但是存在的問題:該函數(shù)在運行中占用的內存會隨著參數(shù) max 的增大而增大,如果要控制內存占用,最好不要用 List

改進 使用yield

def fab(max):
  n, a, b = 0, 0, 1
  while n < max:
    yield b   # 使用 yield
    a, b = b, a + b
    n = n + 1
for n in fab(5):
  print(n)

例子2:讀二進制方式取文件并生成文件副本

#!/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = 'shouke'
def read_file(fpath):
  BLOCK_SIZE = 1024
  with open(fpath, 'rb') as f:
    while True:
      block = f.read(BLOCK_SIZE)
      if block:
        yield block
      else:
        return
with open('D:\Downloads\\channels-2.1.7-copy.tar.gz', 'wb') as f:
  for data in read_file('D:\Downloads\\channels-2.1.7.tar.gz'):
    f.write(data)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Django接收post前端返回的json格式數(shù)據(jù)代碼實現(xiàn)

    Django接收post前端返回的json格式數(shù)據(jù)代碼實現(xiàn)

    這篇文章主要介紹了Django接收post前端返回的json格式數(shù)據(jù)代碼實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • Python?多處理模塊如何使用示例詳解

    Python?多處理模塊如何使用示例詳解

    這篇文章主要為大家介紹了Python?多處理模塊如何使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • python numpy中setdiff1d的用法說明

    python numpy中setdiff1d的用法說明

    這篇文章主要介紹了python numpy中setdiff1d的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • TensorFlow的reshape操作 tf.reshape的實現(xiàn)

    TensorFlow的reshape操作 tf.reshape的實現(xiàn)

    這篇文章主要介紹了TensorFlow的reshape操作 tf.reshape的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-04-04
  • Python如何利用pandas讀取csv數(shù)據(jù)并繪圖

    Python如何利用pandas讀取csv數(shù)據(jù)并繪圖

    這篇文章主要介紹了Python如何利用pandas讀取csv數(shù)據(jù)并繪圖,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • 詳解Python中open()函數(shù)指定文件打開方式的用法

    詳解Python中open()函數(shù)指定文件打開方式的用法

    well,我們這里所指的文件打開方式并不是指調用什么應用程序去打開某個文件,而是只讀只寫或者二進制等的打開方式,這里我們就來詳解Python中open()函數(shù)指定文件打開方式的用法
    2016-06-06
  • Pycharm 設置默認頭的圖文教程

    Pycharm 設置默認頭的圖文教程

    今天小編就為大家分享一篇Pycharm 設置默認頭的圖文教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • python實現(xiàn)實時視頻流播放代碼實例

    python實現(xiàn)實時視頻流播放代碼實例

    這篇文章主要介紹了python實現(xiàn)實時視頻流播放代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01
  • Python urlopen()函數(shù) 示例分享

    Python urlopen()函數(shù) 示例分享

    urlopen(url, data=None, proxies=None) 即創(chuàng)建一個表示遠程url的類文件對象,然后像本地文件一樣操作這個類文件對象來獲取遠程數(shù)據(jù)。參數(shù)url表示遠程數(shù)據(jù)的路徑,一般是網(wǎng)址;參數(shù)data表示以post方式提交到url的數(shù)據(jù);參數(shù)proxies用于設置代理。
    2014-06-06
  • Python 從列表中取值和取索引的方法

    Python 從列表中取值和取索引的方法

    今天小編就為大家分享一篇Python 從列表中取值和取索引的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12

最新評論