Skip to content

Instantly share code, notes, and snippets.

@dvmn-tasks dvmn-tasks/parameters.md Secret
Last active Mar 26, 2019

Embed
What would you like to do?

Что такое функции и аргументы

Функции — это кусочки кода, которому программисты дают название. Например, уже известная вам функция print выводит текст в терминал.

Как устроена функция внутри знать не обязательно, главное знать что она делает. Представьте, что за названием print на самом деле сокрыты сотни строчек кода. Когда вы вызываете print, эти строчки работают где-то там, далеко от ваших глаз. Было бы сущим кошмаром печатать эти строчки самостоятельно, поэтому программисты собрали их вместе и назвали простым именем — print.

Аргументы — это то, что вы передаёте функциям. Например, в print вы обычно передаёте строки с текстом:

print("Hello, World!")  # Выведет Hello, World!

Аргументы нужны для того, чтобы сделать функции более универсальными. В примере выше строка "Hello, World!" — это аргумент. Вы можете указать другую строку и функция выведет её. Функция как бы говорит: "Вот какой аргумент передашь, такой и выведу в терминал". Благодаря аргументам функцию print можно использовать в любых программах.

Позиционные и именованные аргументы

Функция print принимает много разных аргументов. Например, можно передать ей две строки:

print("Hello" , "World")  # Выведет Hello World

Аргументы "Hello" и "World" — позиционные. Позиционными они называются потому, что идут по порядку. Сначала первый, потом второй. Порядок их вывода в терминал зависит от позиции. Сначала выведется "Hello", а потом уже "World".

Но у функции print есть и другие аргументы, именованные:

print("Вася" , "Петя", sep=" и ") # Выведет Вася и Петя
print("Вася" , "Петя", "Маша", sep=" и ") # Выведет Вася и Петя и Маша

sep=" и " — именованный аргумент. У него есть имя — sep. Он говорит функции print, что разделять позиционные аргументы надо не пробелом, а буквой "и". При создании функций разработчики сами закладывают в них именованные аргументы. Они могут сильно менять поведение функции.

Именованные аргументы похожи на переменные, но это не они. Переменные объявляются с начала строки, а аргументы — внутри вызова функции.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.