English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial básico Python

Controle de fluxo Python

Função do Python

Tipos de Dados do Python

Operações de arquivo Python

Objetos e classes no Python

Data e hora no Python

Conhecimento avançado do Python

Manual do Python

Uso e exemplo do callable() no Python

Funções integradas do Python

Se o objeto passado for exibido como chamável, o método callable() retornará True. Se não for, retornará False.

A sintaxe do callable() é:

callable(object)

Parâmetro callable()

O método callable() aceita um único parâmetro object.

Retorno do callable()

O método callable() retorna:

  • True -Se o objeto parece ser chamável

  • False -Se o objeto não for chamável.

É importante lembrar que, mesmo que callable() seja True, a chamada do objeto pode falhar.

Mas, se callable() retornar False, a chamada do objeto definitivamente falhará.

Exemplo1:Como callable() funciona?

x = 5
print(callable(x))
def testFunction():
  print("Teste")
y = testFunction
print(callable(y))

Quando o programa é executado, a saída é:

False
True

Aqui, o objetoxNão é chamável. E o objetoyParece ser chamável (mas pode não ser chamável).

Exemplo2:Objeto chamável 

class Foo:
  def __call__(self):
    print('Imprimir Algo')
print(callable(Foo))

Quando o programa é executado, a saída é:

True

O exemplo da classe Foo parece que pode ser chamado (neste caso, pode ser chamado).

class Foo:
  def __call__(self):
    print('Imprimir Algo')
InstanceOfFoo = Foo()
# Imprime 'Imprimir Algo'
InstanceOfFoo()

Exemplo3:O objeto parece que pode ser chamado mas não pode ser chamado.

class Foo:
  def printLine(self):
    print('Imprimir Algo')
print(callable(Foo))

Quando o programa é executado, a saída é:

True

O exemplo da classe Foo parece que pode ser chamado, mas não pode ser chamado. O seguinte código gerará um erro.

class Foo:
  def printLine(self):
    print('Imprimir Algo')
print(callable(Foo))
InstanceOfFoo = Foo()
# Gera erro
# O objeto "Foo" não pode ser chamado
InstanceOfFoo()

Funções integradas do Python