Python和C语言中的函数的对比

对比维度 C 语言函数 Python 函数
声明与定义 可分离(声明写头文件,定义写.c文件),必须先声明(或定义)再使用 声明与定义合一(def语句即完成定义+声明),无需单独声明
类型绑定 必须指定返回值类型、参数类型,类型固定 无需显式指定类型(动态类型),参数/返回值类型可灵活变化
绑定时机 编译时绑定(函数接口、类型检查在编译阶段完成) 运行时绑定(函数调用、类型校验在程序运行时执行)
参数特性 不支持默认参数、关键字参数,仅支持位置传参 支持默认参数、关键字参数、可变参数(*args/**kwargs)
函数本质 编译后是机器指令集合,地址固定 一等对象(可赋值给变量、作为参数/返回值、嵌套定义)
定义位置 不能嵌套定义(函数内不能再定义函数) 支持嵌套定义(内部函数可访问外部函数变量)
匿名函数 无原生匿名函数(需用函数指针模拟,极繁琐) 支持lambda匿名函数(简洁实现单表达式逻辑)
返回值 若声明有返回值,必须显式return;无返回值需声明为void 可返回任意类型,无显式return则默认返回None

posted @ 2025-11-16 10:32  wangya216  阅读(5)  评论(0)    收藏  举报