私のコード
最初のファイル:
data = {'school':'DAV', 'standard': '7', 'name': 'abc', 'city': 'delhi'}
my_function(*data)
2番目のファイル:
my_function(*data):
schoolname = school
cityname = city
standard = standard
studentname = name
上記のコードでは、「データ」ディクショナリのキーのみがmy_function()
に渡されましたが、キーと値のペアを渡したいです。これを修正するには?
my_function()
をこのように変更したい
my_function(school='DAV', standard='7', name='abc', city='delhi')
これが私の要件であり、これに従って回答を与えます
編集:辞書キークラスは標準に変更されました
そのように使用したい場合は、変数名を使用して関数を通常どおり定義します(ただし、klass
にはclass
を使用します。予約語は使用できません)。
def my_function(school, city, klass, name):
schoolname = school
cityname = city
standard = klass
studentname = name
(辞書でクラスの名前をklassに変更する限り)callのときに**
を使用できます:
my_function(**data)
望みどおりに機能します。
* dataは引数をタプルとして解釈しますが、引数を辞書として解釈する** dataを渡す必要があります。
data = {'school':'DAV', 'class': '7', 'name': 'abc', 'city': 'pune'}
def my_function(**data):
schoolname = data['school']
cityname = data['city']
standard = data['class']
studentname = data['name']
次のような関数を呼び出すことができます。
my_function(**data)
あなたはそれを渡すことができます
def my_function(my_data):
my_data["schoolname"] = "something"
print my_data
または本当にしたい場合
def my_function(**kwargs):
kwargs["schoolname"] = "something"
print kwargs