Функции
Содержание
Функция - это структура, которую вы определяете. Вы можете решать, есть ли у них аргументы или нет. Вы можете добавить аргументы в виде ключевых слов и аргументы по умолчанию.
Функция - это блок кода, который начинается с ключевого слова def
, имени функции и двоеточия. Вот простой пример:
def a_function():
print("You just created a function!")
Эта функция ничего не делает, кроме вывода какого-то текста.
def add(a, b):
result = a + b
return result
В этом примере мы создали функцию add
, которая принимает два аргумента a
и b
и возвращает их сумму.
Вызов функции происходит путем указания имени функции, за которым следуют аргументы в скобках.
Пример:
result = add(2, 3)
print(result) # выводит 5
Пустая функция (заглушка)
Иногда, когда вы пишете код, вы просто хотите написать определения функций, не вставляя в них никакого кода.
def empty_function():
pass
Все функции что-то возвращают. Если не указать ей, что она должна что-то вернуть, то она вернет None
.
Аргументы с ключевыми словами
Функции также могут принимать аргументы в виде ключевых слов! На самом деле они могут принимать как обычные аргументы, так и аргументы с ключевыми словами. Значит, вы можете указать, какие ключевые слова какими являются, и передать их. Вы видели такое поведение в предыдущем примере.
def keyword_function(a=1, b=2):
return a+b
keyword_function(b=4, a=5) # 9
Вы также могли бы вызвать эту функцию без указания ключевых слов. Эта функция также демонстрирует концепцию аргументов по умолчанию. Каким образом? Ну, попробуйте вызвать функцию вообще без аргументов!
keyword_function() # 3
*args и **kwargs
Также функции могут принимать переменное число аргументов или аргументы с произвольными именами (как в словарях). Это делается с помощью операторов *
и **
.
def myfunc(*args):
for arg in args:
print(arg)
Эта функция принимает переменное число аргументов и выводит их все на экран.
Функции в Python также могут иметь аргументы со значениями по умолчанию. Если аргумент не передан при вызове функции, то будет использовано значение по умолчанию. Например:
def myfunc(a, b=10):
result = a + b
return result
В этом примере мы создали функцию myfunc
, которая принимает два аргумента: a
и b
(по умолчанию равный 10
). Если при вызове функции не указан второй аргумент, то он будет равен 10
.
Функции также могут принимать аргументы с ключевыми словами, которые представляют собой пары “ключ-значение”. Эти аргументы позволяют явно указать, какое значение должно быть использовано для каждого параметра функции. Для определения аргументов с ключевыми словами используются двойные звездочки (**
).
def print_values(**kwargs):
for key, value in kwargs.items():
print(key, value)
print_values(name='John', age=25, city='New York')
В этом примере функция print_values() принимает произвольное количество аргументов с ключевыми словами и выводит их на экран. При вызове функции передаются аргументы с ключевыми словами name, age, и city, и функция выводит их значения.
Аргументы с ключевыми словами особенно полезны, когда у функции есть множество параметров, и вы хотите явно указать, какое значение должно быть использовано для каждого параметра. Это также может быть полезно, если вы используете библиотеку, которая принимает множество аргументов, и вы хотите быть уверены, что вы передаете значения правильно.
Ресурсы: