Python関数から複数の値を返す

Return Multiple Values From Python Function



この関数は、必要に応じて特定のコードブロックを複数回実行し、コードを適切に編成するために、任意のプログラミング言語で使用されます。場合によっては、プログラミングの目的で関数から戻り値を読み取る必要があります。関数の戻り値は変数に格納されます。 Python関数は、単一の値と複数の値の両方を返すことができます。このチュートリアルでは、複数の変数、オブジェクト、タプル、リスト、および辞書を使用して、Python関数から複数の値を返す方法を示します。

例1:複数の変数を使用して関数から複数の値を返す

Python関数から少数の変数のみを返したい場合は、これらの変数を定義して、関数を使用する複数の変数、オブジェクト、タプル、リスト、および辞書からの複数の戻り値を格納することをお勧めします。この例では、3つの変数がスクリプトで宣言され、3つの戻り値が格納されています。 NS multiVarFunc() 関数は、3つの入力値を取得し、その値を変数に返すために使用されます dept_name、total_stdtotal_fac







#!/ usr / bin / env python3

#複数の変数を返す関数を定義する
defmultiVarFunc(()。
#文字列データを取得します
部門= 入力(('部門名を入力してください:')。
#数値データを取得する
stdnum= int((入力(('学生の総数を入力してください:')。)。
#数値データを取得する
ファクナム= int((入力(('総学部数を入力してください:')。)。
#複数の変数を返す
戻る部門stdnumファクナム;

#関数を呼び出し、戻り値を3つの変数に格納します
dept_nametotal_stdtotal_fac=multiVarFunc(()。
#戻り値のフォーマットされた出力を出力します
印刷(('NS部門:%sNS総学生数:%dNS総学部:%d '((dept_nametotal_std
total_fac)。)。

出力



3つの値が入力として使用され、フォーマット後に出力値が出力されます。







例2:タプルを使用して関数から複数の値を返す

次のスクリプトは、タプルを使用して関数から複数の値を返す方法を示しています。関数から多くの値を返したい場合は、これがより適切なオプションです。ここでは、 tupleFunc() 関数は、ユーザーから4つの入力値を取得し、その値をタプルとして呼び出し元に返すために使用されます。戻り値は、という名前のタプル変数に格納されます tupleVar 値は後で印刷されます。

#!/ usr / bin / env python3

#複数の変数を返す関数を定義する
deftupleFunc(()。
#文字列データを取得します
stdID= 入力((「学生IDを入力してください:」)。
#文字列データを取得します
stdName= 入力(('学生名を入力してください:')。
#整数データを取得します
stdBatch= int((入力(('バッチ番号を入力してください:')。)。
#浮動小数点データを取得します
stdCGPA= 浮く((入力(('CGPAを入力してください:')。)。
#複数の変数をタプルとして返す
戻る ((stdIDstdNamestdBatchstdCGPA)。

#関数を呼び出し、戻り値をタプルに格納します
tupleVar=tupleFunc(()。
#タプルのフォーマットされた出力を出力します
印刷(('NSID:%sNS名前:%sNSバッチ:%dNSCGPA:%4.2f '((tupleVar[0]tupleVar[1]tupleVar[2]
tupleVar[3])。)。

出力



4つの入力値が入力として取得され、フォーマットされた出力値が出力されます。

例3:リストを使用して関数から複数の値を返す

次のスクリプトは、リストを使用して関数から複数の値を返す方法を示しています。これは、関数から多くの値を返す別のオプションです。 NS listFunc() 関数は、ユーザーから2つの整数を取得し、これらの数値の加算、減算、乗算、および除算を計算するためにスクリプトで使用されます。次に、これらの4つの結果が関数からリストとして返されます。リスト変数、 listVar 戻り値を保存し、値を出力するために使用されます。

#!/ usr / bin / env python3

#複数の値をリストとして返す関数を定義する
deflistFunc(()。
#数値データを取得する
ナンバー1= 浮く((入力((「任意の番号を入力してください:」)。)。
#数値データを取得する
2番= 浮く((入力((「任意の番号を入力してください:」)。)。

添加=number1 + number2
減算=番号1-番号2
乗算=number1 * number2
分割=ナンバー1 /ナンバー2

#複数の変数をリストとして返す
戻る [ナンバー12番添加減算乗算分割]

#関数を呼び出し、戻り値をタプルに格納します
listVar=listFunc(()。
#リストデータのフォーマットされた出力を出力します
印刷(('NS%5.2f +%5.2f =%5.2f '((listVar[0]listVar[1]listVar[2])。)。
印刷(('%5.2f-%5.2f =%5.2f'((listVar[0]listVar[1]listVar[3])。)。
印刷(('%5.2f x%5.2f =%5.2f'((listVar[0]listVar[1]listVar[4])。)。
印刷(('%5.2f /%5.2f =%5.2f'((listVar[0]listVar[1]listVar[5])。)。

出力

67と23.7の2つの数値を取得すると、次の出力が表示されます。

例4:ディクショナリを使用して関数から複数の値を返す

次のスクリプトは、ディクショナリを使用して関数から複数の値を返す方法を示しています。これは、関数から多くの値を返す別のオプションです。名前の付いた辞書オブジェクト変数 dictVar 関数内で宣言されています。 3つの値が変数に割り当てられ、 dicVar 発信者に。次に、ディクショナリ値が出力されます。

#!/ usr / bin / env python3
#複数の値を辞書として返す関数を定義する
defdictFunc(()。
#辞書変数を宣言する
dictVar= dict(()。;
#いくつかの値を割り当てる
dictVar['名前'] = 「ケリアリ」
dictVar['年'] = 46
dictVar['職業'] = '歌手'
#辞書を戻り値として返す
戻るdictVar

#関数を呼び出し、戻り値をディクショナリ変数に格納します
dictValues=dictFunc(()。
#辞書の値を出力する
印刷(('辞書の値は次のとおりです。NS'dictValues)。

出力

スクリプトの実行後、次の出力が表示されます。

例5:オブジェクトを使用して関数から複数の値を返す

次のスクリプトでは、クラスを関数とともに使用して、関数からオブジェクトとして複数の値を返します。いつ objFunc() 関数呼び出し、関数はからオブジェクトを初期化します 従業員 クラスを作成し、オブジェクトを呼び出し元に返します。次に、オブジェクトのプロパティ値が出力されます。

#!/ usr / bin / env python3

#オブジェクトを初期化するクラスを定義する
クラス従業員:
def __初期化__((自己)。
自己名前 = 「モシャラフ・カリム」
自己役職 = 'マネジャー'
自己給料 = 50,000

#値をオブジェクトとして返す関数を定義する
defobjFunc(()。
戻る従業員(()。

#関数を呼び出してオブジェクト変数を設定します
objVar=objFunc(()。

#フォーマットされた出力を印刷します
印刷(('NS従業員名:'objVar。名前'NS''役職:'objVar。役職'NS''給料:'
objVar。給料)。

出力

スクリプトの実行後、次の出力が表示されます。

結論

関数からの複数の戻り値は、さまざまな目的でスクリプトで使用できます。このチュートリアルでは、Pythonの関数から複数の値を返すさまざまな方法をいくつか紹介しました。

著者のビデオを見る: ここ