Артём Санников

Персональный блог

Мобильная разработка
Менеджеры пакетов
Хостинг провайдер
Смартфоны
› Использование произвольного набора именованных аргументов в функциях Python

Использование произвольного набора именованных аргументов в функциях Python

Иногда программа должна получить произвольное количество аргументов, но мы не знаем заранее, какая информация будет передаваться в функции. В таком случае, можно написать функцию, получающую столько пар «ключ — значение», сколько указано в команде вызова.

В качестве примера, напишем функцию, которая будет приманить имя и фамилию пользователя, а также дополнительные пары «ключ — значение».

Определяем функцию biuld_profile_user(), которая ожидает получения двух обязательных параметров first_name и last_name, а так же дополнительной информации о пользователе в виде пар «ключ — значение». Две звёздочки ** перед параметром user_info заставляют Python создать пустой словарь с именем user_info, и упаковать в него все полученные значения пар «ключ — значение».

Чтобы получить дополнительные значения пар, воспользуемся циклом for в теле функции, и добавим их в словарь profile.

Далее вызываем функцию build_profile_user() и передадим ей имя ‘Иван’ и фамилию ‘Иванов’, и ещё две пары «ключ — значение» email=‘test@internet.ru’, phone=‘88000000000’.

# Определяем функцию
def biuld_profile_user(first_name, last_name, **user_info):

    # Создаём пустой словарь
    profile = {}

    # Добавляем имя пользователя в словарь
    profile['first_name'] = first_name

    # Добавляем фамилию пользователя в словарь
    profile['last_name'] = last_name

    # Добавляем дополнительную информацию о пользователе в словарь
    for key, value in user_info.items():
        
        profile[key] = value

    return profile

# Вызываем функцию
user_profile = biuld_profile_user("Иван", "Иванов", email="test@internet.ru", phone="88000000000")

print(user_profile)

Метки: , , .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Реклама от Google
Реклама от Google