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

Краткое описание: в этом уроке вы узнаете о параметрах по умолчанию в Python для упрощения вызова функций.

Введение в параметры по умолчанию Python

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

Чтобы указать значения по умолчанию для параметров, вы используете следующий синтаксис:

def function_name(param1, param2=value2, param3=value3, ...):
Code language: Python (python)

В этом синтаксисе вы указываете значения по умолчанию (value2, value3, …) для каждого параметра с помощью оператора присваивания (=).

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

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

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

Например, вы не можете сделать что-то вроде этого:

def function_name(param1=value1, param2, param3):

Это приводит к синтаксической ошибке.

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

Следующий пример определяет функцию greet(), которая возвращает приветствие:

def greet(name, message='Hi'): return f"{message} {name}"
Code language: Python (python)

Функция greet() имеет два параметра: name и message. Параметр message имеет значение по умолчанию 'Hi'.

Ниже вызывается функция greet() и передаются два аргумента:

def greet(name, message='Hi'): return f"{message} {name}" greeting = greet('John', 'Hello') print(greeting)
Code language: Python (python)

Output:

Hello John
Code language: Python (python)

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

Следующий пример вызывает функцию greet() без передачи второго аргумента:

def greet(name, message='Hi'): return f"{message} {name}" greeting = greet('John') print(greeting)
Code language: Python (python)

Output:

Hi John
Code language: Python (python)

В этом случае функция greet() использует значение по умолчанию параметра message.

Несколько параметров по умолчанию

Ниже переопределяется функция greet() с двумя параметрами, имеющими значения по умолчанию:

def greet(name='there', message='Hi'): return f"{message} {name}"
Code language: Python (python)

В этом примере вы можете вызвать функцию greet() без передачи каких-либо параметров:

def greet(name='there', message='Hi'): return f"{message} {name}" greeting = greet() print(greeting)
Code language: Python (python)

Выход:

Hi there
Code language: Python (python)

Предположим, что вы хотите, чтобы функция greet() возвращала приветствие типа Hello there. Вы можете придумать следующий вызов функции:

def greet(name='there', message='Hi'): return f"{message} {name}" greeting = greet('Hello') print(greeting)
Code language: Python (python)

К сожалению, он возвращает неожиданное значение:

Hi Hello
Code language: Python (python)

Потому что когда вы передаете аргумент 'Hello', функция greet() рассматривает его как первый аргумент, а не как второй.

Чтобы решить эту проблему, нужно вызвать функцию greet(), используя аргументы ключевых слов, как показано ниже:

def greet(name='there', message='Hi'): return f"{message} {name}" greeting = greet(message='Hello') print(greeting)
Code language: Python (python)

Вывод:

Hello there
Code language: Python (python)

Summary

  • Используйте параметры по умолчанию Python для упрощения вызова функций.
  • Поместите параметры по умолчанию после параметров не по умолчанию.

Оцените статью
devanswers.ru
Добавить комментарий