Подтвердить что ты не робот

Как передать словарные статьи в качестве аргументов функции в python?

Мой код

1-й файл:

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

Второй файл:

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')

и это мое требование, дайте ответы в соответствии с этим

EDIT: класс словарного слова изменен на стандартный

4b9b3361

Ответ 1

Если вы хотите использовать их так, определите функцию с именами переменных как обычно (но используйте klass для class, вы не можете использовать зарезервированные слова):

def my_function(school, city, klass, name):
    schoolname  = school
    cityname = city
    standard = klass
    studentname = name

Теперь (если вы переименуете класс в класс в словаре), вы можете использовать ** при вызове функции:

my_function(**data)

и он будет работать так, как вы хотите.

Ответ 2

* данные интерпретируют аргументы как кортежи, вместо этого вы должны передавать ** данные, которые интерпретируют аргументы в качестве словаря.

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)

Ответ 3

Вы можете просто передать его

def my_function(my_data):
    my_data["schoolname"] = "something"
    print my_data

или если вы действительно хотите

def my_function(**kwargs):
    kwargs["schoolname"] = "something"
    print kwargs