Python関数で辞書を返す方法とは?基本の書き方とサンプルコード
Pythonでは、関数から辞書(dict)を返す方法がいくつかあります。ここでは、最も基本的なパターンを中心に、具体的なサンプルコードとともに分かりやすく解説します。
基本の方法:dict()で辞書を作成してreturnする
まずは、関数内でdict()コンストラクタを使って空の辞書を生成し、キーと値を追加したうえでreturn文で返す方法です。
# この関数は辞書を返します
def foo():
d = dict()
d['str'] = "Tutorialspoint"
d['x'] = 50
return d
print(foo())
実行結果
{'x': 50, 'str': 'Tutorialspoint'}
より簡潔な書き方:辞書リテラルを直接返す
実際の開発では、辞書リテラル(波括弧 {})を使って、1行でまとめて返す書き方がよく使われます。要素があらかじめ決まっている場合は、こちらの方がコードが読みやすくなります。
def foo():
return {'str': 'Tutorialspoint', 'x': 50}
print(foo())
ポイントまとめ
- 関数から辞書を返すには、
returnの後に辞書オブジェクトを指定するだけでOKです。 dict()を使えば空の辞書を作成し、後からキーと値を動的に追加できます。- 要素が固定されている場合は、辞書リテラル
{}を使った方が簡潔に記述できます。 - 呼び出し側では、戻り値を通常の辞書としてそのまま操作・加工できます。
-
Pythonで関数から別の関数を返す方法をわかりやすく解説
Pythonは第一級関数(first-class functions)をサポートしているプログラミング言語です。実際、Pythonにおけるすべての関数は第一級オブジェクトとして扱われます。 これは何を意味するのでしょうか。具体的には、以下のようなことが可能になります。 関数の中から別の関数を返す(returnする) 関数をリストや辞書などのコレクションに格納する 関数を、通常の変数やオブジェクトと同じように扱う さらに、関数の中で別の関数を定義し、それを返すことさえできます。これはクロージャ(closure)と呼ばれる強力なテクニックの基礎にもなる概念です。 サンプルコード:関数内で関数を
-
実行時にPython関数を動的に定義・実行する方法
Pythonでは、標準ライブラリの types モジュールが提供する types.FunctionType() を利用することで、プログラムの実行時(ランタイム)に関数を動的に定義し、そのまま呼び出すことができます。 動的に関数を作成する手順 コード文字列から関数オブジェクトを生成するには、以下の手順を行います。 types モジュールをインポートします。 実行したいコードを文字列として用意し、組み込み関数 compile() でコードオブジェクトにコンパイルします。 コンパイル済みのコードオブジェクトと、グローバル名前空間となる辞書を types.FunctionType() に渡して、