Что значит "вызывать" функцию в 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.