为什么有些内置Python函数只有pass?

2024-05-17 04:03:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我想看看math.py函数是如何实现的,但是当我在PyCharm中打开文件时,我发现所有函数都是空的,并且有一个简单的pass。例如:

def ceil(x): # real signature unknown; restored from __doc__
    """
    ceil(x)

    Return the ceiling of x as a float.
    This is the smallest integral value >= x.
    """
    pass

我想这是因为所使用的函数实际上来自C标准库。它是如何工作的?在


Tags: 文件the函数frompydocdefmath
1条回答
网友
1楼 · 发布于 2024-05-17 04:03:01

PyCharm在骗你。您看到的源代码是PyCharm创建的一个伪代码。PyCharm知道应该有什么函数,它可以使用函数docstring猜测它们的签名,但是它不知道函数体应该是什么样子。在

如果您想看到真正的源代码,可以在^{}中的Github官方存储库中查看。其中的许多函数都是围绕math.h中的C函数生成的宏生成的精简包装器,但也有许多手工编写的代码来处理诸如不一致或不充分的标准库实现、没有math.h等效的函数以及自定义钩子,如__ceil__。在

相关问题 更多 >