Функции: часть 1

Функции: часть 1

@Pycoders

Определение

Функция - это блок кода, который можно использовать несколько раз в разных местах программы. Мы можем передавать функции аргументы и получать возвращаемые значения.

Создание и вызов

Чтобы определить функцию в языке Python, нужно использовать литерал def и с помощью отступа определить блок кода функции. После def идет имя нашей функции, круглые скобки и двоеточие. Сам код идет после двоеточия с отступами.

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

def hello():                   # объявление функции
    print('Hello!')            # тело функции
    print('From function.')    # тело функции

hello()                        # вызов функции

Передача аргументов

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

def add(a, b):
    result = a + b
    print(result)

add(5, 10)
# Output: 15

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

add('5', '10') 
# Output: '510'

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

Возврат значений

Вернуть что-либо из функции мы можем с помощью return. Возьмем нашу функцию add и вместо того, чтобы выводить результат, вернем его.

def add(a, b):
    result = a + b
    return result

print(add(5, 10))
# Output: 15

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

Более компактно можно записать тоже самое вот так.

def add(a, b):
    return a + b

Это всего лишь основа основ, дополнения и всякие фишки будут в последующих частях.

Report Page