Найти в Дзене

Ключевые аргументы Python

Ранее я уже рассказывал, как определять собственные функции в Python. О том, как передавать в функции аргументы, я тоже говорил. А сегодня об одной особенности аргументов в функциях Python, которая называется ключевые аргументы (keyword arguments). Когда вы вызываете функцию, у которой есть аргументы, то почти во всех языках программирования это делается так: Функция(Аргумент1, Аргумент2, … , АршументN) И здесь нет никаких сложностей, кроме одной - если в функцию передаётся несколько аргументов, то можно забыть, в какой последовательности они следуют друг за другом, и, например, такой вызов: Функция(2, 3, 4) который попадётся вам в коде программы, будет не очень понятен, потому что вы можете и не вспомнить, что такое 2, что такое 3 и что такое 4. Использование ключевых аргументов устраняет эту неприятность, потому что при таком вызове функции вы пишите имена аргументов функции, и если эти имена имеют какой-то смысл, то сразу станет понятно, какой аргумент для каких целей служит. Пример

Ранее я уже рассказывал, как определять собственные функции в Python. О том, как передавать в функции аргументы, я тоже говорил. А сегодня об одной особенности аргументов в функциях Python, которая называется ключевые аргументы (keyword arguments).

Когда вы вызываете функцию, у которой есть аргументы, то почти во всех языках программирования это делается так:

Функция(Аргумент1, Аргумент2, … , АршументN)

И здесь нет никаких сложностей, кроме одной - если в функцию передаётся несколько аргументов, то можно забыть, в какой последовательности они следуют друг за другом, и, например, такой вызов:

Функция(2, 3, 4)

который попадётся вам в коде программы, будет не очень понятен, потому что вы можете и не вспомнить, что такое 2, что такое 3 и что такое 4.

Использование ключевых аргументов устраняет эту неприятность, потому что при таком вызове функции вы пишите имена аргументов функции, и если эти имена имеют какой-то смысл, то сразу станет понятно, какой аргумент для каких целей служит. Пример:

При этом вам необязательно помнить, в какой последовательности должны следовать аргументы. Вы можете написать и так:

V2 = Volume(Ширина = 3, Высота = 4, Длина = 2)

и результат будет таким же, потому что Python в таком случае определяет аргумент по имени, а не по его местоположению в последовательности аргументов. При этом можно указать имена лишь некоторых аргументов:

V2 = Volume(2, 3, Высота = 4)

Однако в этом случае аргументы без имён должны быть вначале. Если сделать так:

V2 = Volume(Длина = 2, Ширина = 3, 4)

или так:

V2 = Volume(Длина = 2, 3, Высота = 4)

то это будет ошибкой.

Вообще такой синтаксис упрощает понимание программы, хотя и требует от программиста больше движений - приходится печатать лишние буквы. С другой стороны, затраченное на это время может быть компенсировано тем, что вы быстрее разберётесь в чужом коде или в своем, к которому вернулись после перерыва в работе.

На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить.