1

データをループする方法は2つあります。1つはforループを使用し、 もう1つはyieldを使用します。違いは何か、知りたいです。

  1. Forループ(100000データを取得)

    data='select 100000 data from database'
    
    for d in date:
        do something with d    
    
  2. 歩留まり(毎回1000データを取得し、データベースに100回クエリを実行します)

    def func():
        data='select 1000 data from database'
        while date.count>0:
            yield data
    
    data = func()   
    for d in data:
        do something with d
    
4

1 に答える 1

0

機能的には同じです。

主な違いは、2番目のケースでは、SQLステートメントを繰り返さずにいくつかの異なる「何かをする」ブロックを作成するのが本当に簡単なことです。最初のケースでは、「何かをする」がハードコーディングされています。

于 2013-02-16T06:08:40.290 に答える