Что означает "вызов"? Как бы вы "вызывали" функцию в Python?
Что значит "вызывать" функцию в Python?
Ответ 1
Когда вы вызываете функцию, вы в основном просто говорите программе о выполнении этой функции. Поэтому, если у вас есть функция, которая добавила два числа, например:
def add(a,b):
return a + b
вы вызываете функцию следующим образом:
add(3,5)
который вернет 8. В этом случае вы можете поместить любые два числа в круглые скобки. Вы также можете вызвать такую функцию:
answer = add(4,7)
В этом случае значение переменной будет равно 11.
Ответ 2
Я дам немного расширенный ответ. В Python функции первоклассные объекты. Это означает, что они могут быть "динамически созданы, уничтожены, переданы функции, возвращены как значение и имеют все права, как и другие переменные на языке программирования".
Вызов экземпляра функции/класса в Python означает вызов метода __call__
этого объекта. Для классов старого стиля экземпляры экземпляров также вызываются, но только если объект, который создает их, имеет метод __call__
. То же самое относится и к классам нового стиля, за исключением понятия "экземпляр" с классами нового стиля. Скорее это "типы" и "объекты".
Как указано в странице модели данных Python 2, для объектов функций, экземпляров классов (классы старого стиля) и объектов класса (новые -стильные классы), "x(arg1, arg2, ...)
является сокращением для x.__call__(arg1, arg2, ...)
".
Таким образом, всякий раз, когда вы определяете функцию со стенографией def funcname(parameters):
, вы действительно просто создаете объект с помощью метода __call__
, а стенография для __call__
- это просто имя экземпляра и следовать ему с помощью круглых скобок, содержащих аргументы вызов. Поскольку функции являются объектами первого класса в Python, их можно создавать "на лету" с динамическими параметрами (и, следовательно, принимать динамические аргументы). Это пригодится функциям/классам декораторов, о которых вы прочтете позже.
В настоящее время я предлагаю прочитать Официальное руководство по Python.
Ответ 3
Для "вызова" означает сделать ссылку в коде на функцию, которая написана в другом месте. Эта функция "вызов" может быть выполнена в стандартную библиотеку Python (материал, который устанавливается с Python), сторонние библиотеки (материал, написанный другими людьми, который вы хотите использовать), или ваш собственный код (материал, который вы написали). Например:
#!/usr/env python
import os
def foo():
return "hello world"
print os.getlogin()
print foo()
Я создал функцию под названием "foo" и , называемую, позже с этим оператором печати. Я импортировал стандартную библиотеку "os" Python, затем я называл функцию "getlogin" в этой библиотеке.
Ответ 4
когда вы вызываете функцию, ее называют "вызовом" функции. Например, предположим, что вы определили функцию, которая находит среднее значение двух чисел, подобных этому -
def avgg(a,b) :
return (a+b)/2;
теперь, чтобы вызвать функцию, вам это нравится.
x=avgg(4,6)
print x
значение x будет равно 5.