🎉 Добавлен материал по 9 заданию
Python
Функции

Функции в Python

Функции в Python — это блоки кода, которые выполняют определенную задачу. Они могут принимать входные данные (аргументы), выполнять действия и возвращать результат. В Python функции создаются с помощью ключевого слова def

Функции без аргументов

Функции без аргументов не требуют входных данных для выполнения. Они просто выполняют свои действия и могут возвращать результат.

Пример функции без аргументов:

# Функция без аргументов
def greet():
    print("Hello, World!")
 
# Вызов функции
greet()  # Hello, World!

Функция greet() не принимает никаких аргументов и просто выводит строку на экран

Функции с аргументами

Функции могут принимать аргументы (входные данные), которые могут быть использованы внутри функции. Аргументы указываются в скобках после имени функции

Пример функции с аргументами

# Функция с аргументами
def add(a, b):
    return a + b
 
# Вызов функции с передачей аргументов
result = add(5, 3)
print(result)  # 8

Функция add() принимает два аргумента a и b, складывает их и возвращает результат

Аргументы с значениями по умолчанию

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

# Функция с аргументами и значениями по умолчанию
def greet(name="Guest"):
    print(f"Hello, {name}!")
 
# Вызов функции без аргумента
greet()  # Hello, Guest!
 
# Вызов функции с аргументом
greet("Alice")  # Hello, Alice!

В этом примере аргумент name имеет значение по умолчанию "Guest". Если при вызове функции не передан аргумент, используется это значение

Функции с возвратом значения

Функции могут возвращать значения с помощью оператора return. Это позволяет функции передавать результат обратно в программу для дальнейшего использования

Пример функции с возвратом значения

# Функция с возвратом значения
def multiply(a, b):
    return a * b
 
# Вызов функции и получение результата
result = multiply(4, 5)
print(result)  # 20

Функция multiply() принимает два аргумента, перемножает их и возвращает результат. Результат можно сохранить в переменную и использовать дальше

Возврат нескольких значений

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

# Функция, возвращающая несколько значений
def get_coordinates():
    return 10, 20
 
# Вызов функции и сохранение значений
x, y = get_coordinates()
print(x, y)  # 10 20

В этом примере функция возвращает два значения, которые можно распаковать в отдельные переменные

Функции без возврата значения

Если функция не возвращает значение с помощью return, она возвращает None по умолчанию. Это полезно, если функция просто выполняет действия (например, выводит что-то на экран или изменяет глобальные переменные)

Пример функции без возврата значения

# Функция без возврата значения
def print_message(message):
    print(message)
 
# Вызов функции
print_message("Hello, World!")  # Hello, World!

Функция print_message() выполняет действие (вывод сообщения), но не возвращает результат

Локальные и глобальные переменные в функциях

Переменные, определенные внутри функции, называются локальными, а те, которые определены вне функции, — глобальными

# Глобальная переменная
x = 10
 
def change_value():
    # Локальная переменная
    x = 5
    print("Локальная переменная:", x)
 
change_value()  # Локальная переменная: 5
print("Глобальная переменная:", x)  # Глобальная переменная: 10

В этом примере переменная x, определенная внутри функции, не изменяет глобальную переменную с таким же именем

💡Важно

Переменные внутри функции недоступны извне!

error.py
def change_value():
    # Локальная переменная
    x = 5
    print("Локальная переменная:", x)
 
change_value()
print("Глобальная переменная:", x) # Выдаст ошибку

Функции с произвольным количеством аргументов

В Python можно создавать функции, которые принимают произвольное количество аргументов. Это делается с помощью *args и **kwargs.

  • *args — используется для передачи неограниченного количества позиционных аргументов
  • **kwargs — используется для передачи неограниченного количества именованных аргументов

Пример с *args

# Функция с произвольным количеством аргументов
def sum_numbers(*args):
    return sum(args)
 
result = sum_numbers(1, 2, 3, 4)
print(result)  # 10

Пример с **kwargs

# Функция с произвольным количеством именованных аргументов
def print_info(**kwargs):
    for key, value in kwargs.items():
        print(f"{key}: {value}")
 
print_info(name="Alice", age=25, city="New York")
# name: Alice
# age: 25
# city: New York

Заключение

Функции в Python — это мощный инструмент для структурирования кода и выполнения повторяющихся задач. Они позволяют создавать многократно используемые блоки кода, которые могут принимать аргументы, выполнять вычисления и возвращать результаты. Функции с аргументами и возвратом значений делают программу более гибкой и модульной