关于API定义中“实现”概念的困惑求解(以Python为例)
关于API中“规范”与“实现”的区分(以Python为例)
首先得明确:API这个术语在行业里确实同时指代规范和实现,这是普遍认可的用法,不用纠结“反直觉”——术语的定义本来就是随行业约定俗成的。
针对你的疑问,用Python的例子拆解:
- 你说的“API规范”,就是官方文档里定义的规则:比如
print()函数接受哪些参数、返回什么值、能实现什么功能,或者os.path.join()的参数格式和作用。这是你写代码时需要遵循的“约定”,确保你的调用能被正确识别。 - 而“实现”,就是让这些规范真正能运行起来的具体代码/程序:比如CPython(最常用的Python解释器)里,处理
print()的是底层的C源码,编译后变成机器码,当你在脚本里调用print()时,实际执行的就是这部分实现逻辑。如果是PyPy这种其他Python实现,对应的又是另一套实现代码,但它们都符合Python的API规范,所以你写的代码能在不同解释器上跑。
为什么实现也会被称为API?因为当你调用一个API时,你直接交互的就是这个实现——它是规范的“实体载体”。比如我们常说“Python标准库API”,其实既包含了文档里的规范,也包含了背后支撑这些功能的源码/编译后的代码。再举个第三方库的例子:用requests.get()发送请求时,你遵循的是requests文档里的规范,而实际执行HTTP请求、处理响应的是requests库的源码,这时候我们说“使用requests的API”,这里的API就同时涵盖了规范和实现。
简单总结:规范是“怎么用”的规则,实现是“让它能用”的具体代码,两者都可以被称为API,只是语境不同而已。
内容的提问来源于stack exchange,提问作者Neo Anderson
相关产品推荐
相关产品推荐

