Functions · Функции
Name a block of code
- A function is named code you can use again and again.
- Make one with
def name():and an indented body. - "Calling" the function by its name runs that code.
Именование блока кода
- Функция — это именованный код, который можно использовать многократно.
- Создайте её с помощью
def name():и отступом для тела функции. - «Вызов» функции по её имени запускает этот код.
Give it inputs (parameters)
- The names in the brackets are parameters — the function's inputs.
- When you call it, you pass in arguments (the real values).
- A function can take more than one parameter.
Передача входных данных (параметры)
- Имена в скобках — это параметры, то есть входные данные функции.
- При вызове вы передаете аргументы (реальные значения).
- Функция может принимать более одного параметра.
def shout(word):
print(word.upper() + "!")
shout("hello")
Send back a result (return)
returnsends a value back to whoever called the function.- You can store that value or use it in an expression.
returnalso ends the function straight away.
Возврат результата (return)
returnотправляет значение назад тому, кто вызвал функцию.- Вы можете сохранить это значение или использовать его в выражении.
returnтакже немедленно завершает выполнение функции.
def double(x):
return x * 2
result = double(5)
print(result)
return vs print
printonly shows something on the screen.returngives a value back that the rest of your code can use.- A function with no
returngives backNone.
return vs print
printтолько выводит что-либо на экран.returnвозвращает значение, которое остальной ваш код может использовать.- Функция без
returnвозвращаетNone.
In Cambridge pseudocode
- A
FUNCTIONreturns a value; aPROCEDUREjust does an action.
В псевдокоде Cambridge
- A
FUNCTIONвозвращает значение; BPROCEDUREпросто выполняет действие.
FUNCTION Add(A : INTEGER, B : INTEGER) RETURNS INTEGER
RETURN A + B
ENDFUNCTION
PROCEDURE Greet(Name : STRING)
OUTPUT "Hello, ", Name
ENDPROCEDURE
Common mistakes
- A function returns
Noneunless you writereturn; printing is not the same as returning. - Run a function with
():greet(), notgreet. - Define a function before you call it.
Распространенные ошибки
- Функция возвращает
None, если вы не напишетеreturn; вывод на экран не равен возврату. - Вызовите функцию с помощью
():greet(), а неgreet. - Объявите функцию перед её вызовом.
Now you try
- Define each function, then the checks will call it for you.
- Use
returnto send the answer back (do notprintit).
Теперь попробуйте сами
- Объявите каждую функцию, затем проверки вызовут её за вас.
- Используйте
return, чтобы отправить ответ обратно (неprintего).
Calling a function · Вызов функции
A call pushes a frame with its arguments; return pops it. · При вызове создается фрейм с его аргументами; при возвращении return удаляет его.
Write a function add(a, b) that returns the sum of a and b. · Напишите функцию add(a, b), которая возвращает сумму аргументов a и b.
Click Run to see the output here. · Нажмите Запустить, чтобы увидеть результат здесь.
Write a function greet(name) that returns the string Hello, then the name then !. So greet("Sam") returns Hello, Sam!. · Напишите функцию greet(name), которая возвращает строку Hello, , затем имя, затем строку !. Таким образом, вызов greet("Sam") вернет значение Hello, Sam!.
Click Run to see the output here. · Нажмите Запустить, чтобы увидеть результат здесь.
Write a function biggest(a, b) that returns the larger of the two values. If they are equal, return either one. · Напишите функцию biggest(a, b), которая возвращает наибольшее из двух значений. Если они равны, верните любое из них.
Click Run to see the output here. · Нажмите Запустить, чтобы увидеть результат здесь.
Write is_palindrome(word) that returns True when the word reads the same backwards (like racecar), otherwise False. · Напишите is_palindrome(word), которая возвращает True, если слово читается одинаково в прямом и обратном направлении (как racecar), иначе верните False.
Click Run to see the output here. · Нажмите Запустить, чтобы увидеть результат здесь.