Погружение в базы данных Oracle

Данная книга является руководством для начинающих специалистов в области анализа и обработки данных. В книге рассматривается язык SQL и его процедурное расширение PL/SQL от компании Oracle.

Купить книгу

SQL без слёз

Цель книги заключается в том, чтобы научить любого человека работать с реляционными базами данных и получать из них необходимую информацию посредством выполнения SQL-запросов.

Скачать книгу

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

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

Ранее мы уже рассматривали передачу произвольного значения аргументов функции, но как быть, если нужно передать позиционный аргумент и произвольный набор вместе?

Если необходимо, чтобы функция могла вызываться с произвольным набором аргументов, параметр для получения произвольного количества аргументов должен стоять на последнем месте в определении функции. Так как Python сначала подбирает соответствия для позиционных и именованных аргументов, а потом объединяет все остальные в последнем параметре.

Рассмотрим пример с добавлением дополнительных цветов в заказ пользователя, но с небольшой доработкой.

Теперь мы сначала узнаём нужен ли градиент пользователю, а потом он может добавить произвольное количество цветов.

В определении функции user_color(), Python сохраняет первое значение в параметре gradient. Все остальные значения, следующие за ним, сохраняются в кортеж colors.

При вызове функции user_color() на первом месте располагается аргументы для параметра gradient, а затем следует сколь угодно дополнений.

# Определяем функцию
def user_color(gradient, *colors):

    # Выводим значение параметра gradient
    print("Использование градиента:")
    print("- " + gradient)

    print("\nЦвета, которые добавил пользователь:")

    # Запускаем цикл for
    for color in colors:
        print("- " + color)

# Вызываем функцию
user_color("Да", "Красный", "Синий", "Зелёный")

Метки: , , .

Записи по теме

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

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