Найти в Дзене

Параметры и аргументы функций Python

Ранее я уже рассказывал о том, чем параметры отличаются от аргументов. Правда, на примере другого языка программирования, но сути это не меняет. Я также уже рассказывал о том, как в Python использовать функции. Но там я не упомянул о том, как передавать аргументы в функцию и о многом другом. За что меня критиковали в комментариях. Критикам отвечу - я стараюсь писать короткие статьи, чтобы не перегружать мозг программистам-новичкам. А то, что не входит в короткую статью, я обычно помещаю в другую короткую статью. И вот очередная такая короткая статья об аргументах и параметрах функций Python (и да, она тоже не будет всеобъемлющей). Итак, объявить функцию с параметром можно так: def MyFunc(param): print(param) Здесь param - это любой допустимый идентификатор. Теперь эту функцию можно использовать в программе. Причём, в отличие от строго типизированных языков, передавать в функцию можно данные любого типа, главное, чтобы внутри функции этот тип можно было обработать: MyFunc(100) MyFun

Ранее я уже рассказывал о том, чем параметры отличаются от аргументов. Правда, на примере другого языка программирования, но сути это не меняет. Я также уже рассказывал о том, как в Python использовать функции. Но там я не упомянул о том, как передавать аргументы в функцию и о многом другом. За что меня критиковали в комментариях. Критикам отвечу - я стараюсь писать короткие статьи, чтобы не перегружать мозг программистам-новичкам. А то, что не входит в короткую статью, я обычно помещаю в другую короткую статью. И вот очередная такая короткая статья об аргументах и параметрах функций Python (и да, она тоже не будет всеобъемлющей).

Итак, объявить функцию с параметром можно так:

def MyFunc(param):
print(param)

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

MyFunc(100)
MyFunc("Сто")

Оба варианта отработают без ошибок.

Если необходимо использовать несколько параметров, то они перечисляются через запятую:

def MyFunc2(param1, param2):
print(param1 + param2)
MyFunc2(100, 200)
MyFunc2("Сто", "Двести")

И здесь всё пройдёт без ошибок.

А вот такой номер уже не пройдёт:

MyFunc2("Сто", 200)

Потому что Python не сможет самостоятельно справиться с задачей сложения строки и числа.

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

Ну и для наглядности картинка, как вышеописанные примеры выглядят в интерпретаторе:

На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить.