Python callable内置函数原理解析

Nora
Nora
发布时间:2026-10-13| 5人浏览过
原创

本文详细解析Python内置函数callable的用法。该函数用于检查对象是否可调用,返回布尔值。需注意即使返回True,调用仍可能失败;返回False则绝对无法调用。文章涵盖语法、参数说明及代码示例,帮助开发者正确使用callable进行类型判断。

Python内置函数callable的主要作用是检测一个对象是否具备被调用的能力。当该函数返回True时,表示对象理论上可调用的,但实际执行时仍有可能抛出异常导致调用失败;反之,若返回False,则表明该对象绝对无法被调用。

callable函数简介

一、callable函数简介

其基本语法结构如下:

callable(object)

参数说明:

object:指代需要检测是否可调用的目标对象;

返回值:返回一个布尔值(bool)。若object对象可以被调用,则返回True;若不能被调用,则返回False;

需要特别注意:即使函数返回True,object在后续的实际调用过程中仍有可能失败;而返回False则意味着该对象肯定无法成功调用。

对于常规的函数、方法、lambda表达式、类,以及实现了__call__方法的类实例,callable函数均会返回True。

callable函数使用示例

二、callable函数使用示例


# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:何以解忧
@Blog(个人博客地址): shuopython.com
@WeChat Official Account(微信公众号):猿说python
@Github:www.github.com
 
@File:python_len.py
@Time:2020/2/24 21:25
 
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
"""
def test(func):
  # 判断func如果是函数,就执行他,如果不是函数,直接返回
  # 判断func是否可调用,如果可以调用,就是true
  if callable(func):
    print("函数可以被调用")
    return func
  else:
    print("函数不可以被调用")
def test2():
  return 'shuopython.com'
if __name__ == "__main__":
 
  print(test(test2())) #等价 test(str)   字符串不是对象
  print("***"*20)
  print(test(test2))  #等价 test(func)  函数是对象
  print("***"*20)
  print(test(123))   #等价 test(int)   整形不是对象

运行上述代码后的输出结果如下:

函数不可以被调用 None ************************************************************ 函数可以被调用 <function test2 at 0x00000252F39D57B8> ************************************************************ 函数不可以被调用 None

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。