1. ホーム
  2. python

[解決済み] Pythonで関数の引数として辞書の項目を渡すには?重複

2022-05-14 12:12:16

質問

私のコード

1つ目のファイル

data = {'school':'DAV', 'standard': '7', 'name': 'abc', 'city': 'delhi'}
my_function(*data)

2番目のファイルです。

my_function(*data):
    schoolname  = school
    cityname = city
    standard = standard
    studentname = name

上記のコードでは、quot;data" 辞書のキーのみが、quot;data" に渡されました。 my_function() に渡されますが、私はキー-バリューペアを渡したいのです。どのようにこれを修正するのですか?

私は my_function() をこのように修正する

my_function(school='DAV', standard='7', name='abc', city='delhi')

そして、これは私の要求です、これに従って答えを与えてください。

EDIT。 辞書キー クラス に変更されます。 標準

どのように解決するのですか?

このように使いたい場合は、通常通り変数名で関数を定義します。

def my_function(school, standard, city, name):
    schoolName  = school
    cityName = city
    standardName = standard
    studentName = name

これで ** を使うことができます。 を呼び出す を呼び出すと

data = {'school':'DAV', 'standard': '7', 'name': 'abc', 'city': 'delhi'}

my_function(**data)

とすれば、思い通りに動作します。

P.S. のような予約語は使用しないでください。 class .などの予約語は使わないでください(例 klass を代わりに使う)