Что такое функция?

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

def say_hi():
    return "Hi"
print(say_hi()) # properly invoked
print(say_hi) # not properly invoked, see what happens

Не забывайте об этом. В Python вы всегда будете получать результат от функции.

def say_hi():
    return "Hi"
def say_none():
    'I will give you None since I do not use the "return" keyword'
print(say_hi())
print(say_none())

Зачем вам использовать функцию?

  • Это сохраняет ваш код СУХИМ (не повторяйте себя) — по сути, это предотвращает дублирование кода. Это позволяет вам создавать определенные задачи в аккуратно упакованном блоке кода, который мы можем вызывать, когда вам это нужно.
  • Это помогает разбивать сложные блоки кода на более мелкие блоки, что помогает при отладке кода.
  • Это упрощает отслеживание ошибок в вашем коде.
  • Это помогает с читабельностью вашего кода.

Передача аргументов в функцию

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

def say_hi(name):
    return "Hi " + name
print(say_hi("Jim"))

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

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

def say_hi(name):
    return "Hi " + name
print(say_hi()) # returns TypeError

Подсказка: она вернет «TypeError», так как в этом случае функция требует один аргумент.

Превентивной мерой будет создание аргумента по умолчанию.

def say_hi(name="Pam"):
    return "Hi " + name
print(say_hi()) # returns "Hi Pam"