Найти тему
IT Start | Python

Функция callable в Python

Оглавление

Определение

Функция callable() в Python используется для проверки, является ли объект вызываемым (т.е. поддерживает ли он поведение, похожее на функцию). Возвращает True, если объект можно вызвать, и False, если нет.

Синтаксис

Синтаксис функции callable() выглядит следующим образом:

callable(object)

Где:

  • object— объект, который необходимо проверить на возможность вызова.

Примеры

Функция

Любая функция является вызываемым объектом.

def my_function():
return "Hello!"

print(callable(my_function))
# Вывод: True

Методы

Методы объектов тоже являются вызываемыми.

class MyClass:
def my_method(self):
pass

obj = MyClass()
print(callable(obj.my_method))
# Вывод: True

Классы

Классы вызываемы, потому что их можно инстанцировать.

class MyClass:
pass

print(callable(MyClass))
# Вывод: True

Объекты

По умолчанию объекты не вызываемы, но если они реализуют метод __call__(), то становятся вызываемыми.

class MyCallableClass:
def __call__(self):
print("Called!")

obj = MyCallableClass()
print(callable(obj)) # Вывод: True
obj() # Выведет "Called!"

Строки, числа, списки и т.д.

Строки, числа, списки, кортежи, множества, словари, булевы значения являются невызываемыми объектами.

number = 42 # int
text = "Hello" # str
my_list = [1, 2, 3] # list
my_tuple = (1, 2, 3) # tuple
my_set = {1, 2, 3} # set
my_dict = {'a': 1} # dict
is_true = True # bool

print(callable(number)) # Вывод: False
print(callable(text)) # Вывод: False
print(callable(my_list)) # Вывод: False
print(callable(my_tuple)) # Вывод: False
print(callable(my_set)) # Вывод: False
print(callable(my_dict)) # Вывод: False
print(callable(is_true)) # Вывод: False

Заключение

В ходе статьи мы с Вами узнали как работает функция callable() в Python. Надеюсь Вам понравилась статья, желаю удачи и успехов! 🙂

Мой Telegram канал

Мой YouTube канал

Мой курс по Python (50 видоуроков + дополнительные уроки)

Курс по созданию телеграм-ботов на Python с фреймворком Aiogram

Курс по созданию GUI на Python

Наука
7 млн интересуются