/
Вопросы и ответы
/
Python
/

Как работает функция def в Python?

Как работает функция def в Python?

4 года назад

Andrey Moshkov

Ответы

1

def это слово которое создает функцию и состоит из def название функции(аргумент): код

функцию можно визивать например

1
2
3
4
def hi() #аргументы не обязательны
    print("hello")
hi() #вызываем функцию 
#hello

аргументы это переменные которие можно ввести при вызове функций

1
2
3
def hi(a,b):
    print(a+b)
hi(2,8) #10

4 года назад

Bogdan

1

def - это ключевое слово, после которого должно идти определение функции (название новой функции, параметры и двоеточие, после которого описывается тело функции)

Из оф.документации:

The keyword def introduces a function definition. It must be followed by the function name and the parenthesized list of formal parameters. The statements that form the body of the function start at the next line, and must be indented.

Пример:

1
2
def say_hello(message):
    print(message)

4 года назад

Ilia Kaziamov

1

В языке программирования Python функции определяются с помощью оператора def. Рассмотрим код:

1
2
3
4
5
6
def foo():
    a = int(input())
    b = int(input())
    print("Сумма равна:", a + b) # a=5 b=2 ответ выведет Сумма равна:5

foo() #активация функции

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

2 года назад

Алёна Шереметьева

0

def — ключевое слово, которое создаёт функцию. После него пишут имя функции, параметры в скобках и двоеточие, а тело функции — с отступом в 4 пробела:

1
2
3
4
def greet(name):
    return f"Привет, {name}!"

print(greet("Анна"))  # => Привет, Анна!

Код внутри функции выполняется только при вызове — greet("Анна"). Сама строка def лишь сохраняет функцию под именем greet.

return и print

return возвращает значение, и его можно сохранить в переменную. Если return нет, функция возвращает None:

1
2
3
4
5
6
7
8
9
def add(a, b):
    return a + b

def show_sum(a, b):
    print(a + b)

result = add(2, 3)
print(result)          # => 5
print(show_sum(2, 3))  # выведет 5, затем None

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

1
2
3
4
5
6
def power(base, exp=2):
    return base ** exp

print(power(3))          # => 9
print(power(3, 3))       # => 27
print(power(exp=0, base=5))  # => 1

Не делайте значением по умолчанию список или словарь: def f(items=[]) использует один и тот же список при каждом вызове. Пишите items=None и создавайте список внутри.

Любое число аргументов

1
2
3
4
5
6
7
8
9
def total(*numbers):
    return sum(numbers)

print(total(1, 2, 3))  # => 6

def info(**fields):
    return fields

print(info(name="Олег", age=30))  # => {'name': 'Олег', 'age': 30}

Частые ошибки

  • Забыли двоеточие: def hi() → SyntaxError: expected ':'.
  • Нет отступа в теле → IndentationError: expected an indented block.
  • Вызвали функцию до того, как определили → NameError: name 'hi' is not defined.

Функции разбирают в бесплатном курсе «Основы Python».

8 дней назад

Никита Вихров

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845