Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python関数はどの程度正確にオブジェクトを返しますか?


returnステートメントにより、Python関数が終了し、呼び出し元に値が返されます。関数の一般的な目的は、入力を受け取り、何かを返すことです。 returnステートメントは、実行されると、関数の最後のステートメントでなくても、関数の実行をすぐに終了します。

値を返す関数は実りある関数と呼ばれることもあります。

与えられたコードは次の出力を与えます

def sum(a,b):
     return a+b
sum(5,16)
出力
21
ジェネレーター

ジェネレーターは、イテレーターまたはリストやタプルなどのイテレーターですが、イテレーターは1回だけです。すべての値をメモリに保存するのではなく、その場で値を生成するためです:

mygenerator = (x*x for x in range(4))
for i in mygenerator:
      print i,
出力
0 1 4 9

ジェネレーターは1回しか使用できないため、mygeneratorでiを2回実行することはできません。ジェネレーターは0を計算し、それを忘れて1、4を計算し、9を1つずつ計算します。

収量

yieldは、関数がジェネレーターを返すことを除いて、returnのように使用されるキーワードです。

次のコードを使用して、次のようにジェネレーターからのリターンにアクセスします

def createGenerator():
      for i in range(4):
           yield i*i      #  this code creates a generator
mygenerator = createGenerator()
print(mygenerator) # mygenerator is an object!
# for i in mygenerator:
#      print i,
print(next(mygenerator))
print(next(mygenerator))
print(next(mygenerator))
print(next(mygenerator))
print(next(mygenerator))
出力
<generator object createGenerator at 0xb71e27fc>
0
1
4
9
Traceback (most recent call last):
  File "yieldgen1.py", line 12, in <module>
    print(next(mygenerator))
StopIteration
説明 上記の例のyieldステートメントは、mygeneratorを作成しました。一度だけ使用できます。コマンドnext(mygenerator)を使用して計算します。 1回使用できます。最初に0を計算し、次にそれを忘れて、2回目は1を計算し、3回目は4を計算し、4回目は9を計算し、5回目はリスト要素が使い果たされたためStopIterationのエラーをスローします。


  1. Python:辞書を印刷する方法

    辞書は、データをキーと値のペアで格納します。これは、ディクショナリの各値がキーに関連付けられていることを意味します。このキーは参照ポイントとして機能します。 辞書の内容をコンソールで表示したい場合は、いくつかの方法があります。辞書を直接印刷することも、キーと値のペアを個別に印刷することもできます。 このガイドでは、Pythonで辞書を印刷する方法について説明します。独自のコードで辞書を印刷する方法を理解するのに役立ついくつかの例を紹介します。 Python:forループを使用した辞書の印刷 辞書の内容を印刷してパン屋が読めるようにするプログラムを作成します。この辞書には、材料の

  2. Pythonでパターンを印刷する方法は?

    Pythonのパターンは、ネストされたforループを使用して印刷できます。外側のループは行数を反復処理するために使用され、内側のループは列数を処理するために使用されます。印刷ステートメントは、要件に応じてさまざまなパターンを形成するように変更されます。 パターンには、星型、数字型、アルファベット型があります。パターンは、さまざまな形、三角形、ピラミッドなどにすることができます。 例 これらのパターンはすべて、これらの異なるパターンを形成する変更されたprintステートメントを含むforループを使用して印刷できます。 これらのパターンの印刷の基本的な考え方は同じですが、わずかな違いが