, что является целью, имеющим arg1, arg2 в круглых скобках следующего к нему?
В этом случае arg1
и arg2
называются аргументами. Аргументы позволяют функциям принимать входы, которые предполагается использовать для выполнения задачи.Входы предоставляются вызывающими абонентами.
Например, в школе по математике, вы may've уже видели такие вещи, как z = f(x, y)
где функция с именем е определяется как f(x, y) = x + y
. Это та же концепция на языке программирования.
Он также позволяет вам писать более общие, гибкие и многоразовые коды. Например, вам не нужно писать много разных версий функции для выполнения одной и той же задачи с несколько разными результатами, избегая ситуаций, таких как add2(x, y) = x + y
и add3(x, y, z) = x + y + z
, и так далее. Вы можете просто сделать что-то вроде:
def sum(values): # values is of type 'list'
result = 0
for value in values:
result += value
return result
И называть это так:
total = sum([1, 2, 3, 4, 5, 6, 7]) # a list of any length with numbers
Или так:
total = sum([1, 2])
Как много аргументов функция потребности будет зависеть о том, что ему нужно делать, и о других факторах.
Update
Что меня смущает, это print_two_again ("Стив", "тестирование"), что является это называется, и его цель?
Линия print_two_again("Steve","testing")
является вызов функции (т.е. вызова функции). Это заставляет программу «прыгать» в тело функции с именем print_two_again
и начать выполнение кода в ней.
Часть ("Steve","testing")
- это аргументы, передаваемые функции в качестве входных данных. Это аргументы positional, что в основном означает, что они получают «сопоставление» с именами arg1
и arg2
на основе порядка, в котором вы предоставили их при вызове функции.
Например, рассмотрим функцию f(x, y) = x - y
. Если эта функция называется z = f(3, 4)
, тогда аргумент по имени x
получит значение 3
и y
будет 4
, чтобы вернуть -1
. Если вы отмените аргументы в вызове, тогда у вас будет x=4
и y=3
, и вместо этого он вернет 1
. То же самое относится к аргументам в предоставленной вами функции.
Это означает, что порядок аргументов в вызове функции важно.
Язык Python, как и многие другие, уже имеет набор встроенных функций. Примером этого является функция с именем print
. Вы можете получить много информации, используя команду pydoc
(pydoc3
, если вы используете Python3, который я бы рекомендовал).Например, команда pydoc3 print
производит следующую документацию:
Помощь по встроенной функции печати в модуле: встроенные команды
печати (...) печать (значение, ..., Сентябре =» », конец = '\ п', файл = sys.stdout, вровень = False)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.
Обратите внимание, что это документация Python3. Документация Python2 будет немного отличаться.
Существует прямая корреляция между вашим пониманием функций, как видно на ваших курсах математики в школе, и функциями, которые видны на языке программирования. Это связано с тем, что математика является частью основополагающей основы компьютерных наук и языков программирования, среди прочего (например, анализ алгоритмов).
Спасибо, Семих. Меня смущает print_two_again («Стив», «тестирование»), что это называется и его цель? – NZSteve