python 内置函数

python callable()函数用于判断一个对象是否可调用。它是python的内置函数。

如果一个对象可调用则返回True,否则返回False。

语法

语法如下:
callable(object)

    参数

    • object:指定要判断是否调用的对象。

    返回值

    返回布尔值,True或者False。

    版本

    该函数在python2.x版本中都可用。但是在python3.0版本中被移除,而在python3.2以后版本中被重新添加。

    程序示例

    介绍一个例子了解python callable()函数的使用方法。

    #!/usr/bin/python
    # coding=utf-8
    def sum(a, b):
    	print(a+b)
    	
    class Person:
    	
        def __call__(self, *args, **kwargs):
            print("定义了__call__()方法")
    
    class Animal:
    	
        def say(self):
            print("say")	
    		
    print('数字:', callable(123))  # False
    print('字符串:', callable('yxjc123'))  # False
    print('列表:', callable([1,2,3]))  # False
    print('元组:', callable((1,2,3)))  # False
    print('方法:', callable(sum))  # True
    print('类:', callable(Person))  # True
    p = Person() # person类定义了__call__方法所以返回True
    print('对象person:', callable(p))  # True
    a = Animal() # 没有定义__call__方法所以返回False
    print('对象animal:', callable(a))  # False 
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    程序运行结果:

    数字: False
    字符串: False
    列表: False
    元组: False
    方法: True
    类: True
    对象person: True
    对象animal: False

    从结果中可以看出:

    • 数值、字符串、列表对象、元组对象、字典对象等是不可调用的
    • 类中未实现__call__()方法,类的实例也是不能调用的。