Найти в Дзене

Python | Урок 41 | Функции | Параметры функции

Типы аргументов

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

· Обязательные аргументы.

· Аргументы ключевого слова.

· По умолчанию.

· Переменной длины.

1. Обязательные аргументы

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

Например:

# Определим функцию hour_to_sec

# Она переводит часы в секунды

def hour_to_sec(hour, min, sec):

return hour * 60 * 60 + min * 60 + sec

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

# Иначе результат вычислений будет неверным

>>> hour_to_sec(0, 5, 50)

350

2. Аргументы-ключевые слова

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

Например:

# Используем ту же самую функцию

def hour_to_sec(hour, min, sec):

return hour * 60 * 60 + min * 60 + sec

# Хотя в определении первым параметром идут часы,

# мы можем передать секунды в качестве первого аргумента.

# В таком случае мы обязаны указать имя параметра

>>> hour_to_sec(sec=50, hour=0, min=5)

350

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

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

Например:

# Функция принимает два параметра: имя и возраст

# Параметр age имеет значение по умолчанию

def person(name, age=25):

print(name, 'is', age, 'years old')

# Передадим функции оба параметра и посмотрим результат

>>> person('Ivan', 19)

Ivan is 19 years old

# Теперь передадим функции только 1 параметр

# Параметр age примет свое значение по умолчанию

>>> person('Ivan')

Ivan is 25 years old

4. Аргументы произвольной длины

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

Например:

# Определим функцию с произвольным количеством параметров

# Данная функция выводит переданные ей аргументы в консоль

def print_args(*args):

print(args)

# Вызовем функцию без аргументов

>>> print_args()

()

# Вызовем функцию с 1 аргументом

>>> print_args('Строка')

('Строка')

# Вызовем функцию с 5ю аргументами

>>> print_args(1, 'Строка', 'Еще строка', 38, 4)

(1, 'Строка', 'Еще строка', 38, 4)

Области видимости переменных

Область видимости переменных зависит от места, где переменная объявляется. Переменная, объявленная в одной части программы, может быть недоступна для других частей.

В Python переменные определяются с двумя типами областей видимости:

· Глобальные.

· Локальные.

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

Рассмотрим следующий пример.

Пример 1. Локальная переменная

Результат:

-2

Пример 2. Глобальная переменная

-3

Результат:

-4

Подписывайтесь! ;-) Будем дружить https://vk.com/lecturer_abramenkova

Благодарю каждого за репост!)

#python с нуля #python3 #программирование на python #уроки python #пайтон онлайн #функции