Почему некоторые встроенные функции Python имеют пропуск?

Я хотел посмотреть, как math.py функция 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. Как это работает?

PyCharm лжет вам. Исходный код, который вы ищете, – это подделка, созданная PyCharm. PyCharm знает, какие функции должны быть там, и он может догадываться о своих подписях, используя функции docstrings, но не знает, как выглядят тела функций.

Если вы хотите увидеть настоящий исходный код, вы можете посмотреть его в официальном репозитории Mercurial в Modules/mathmodule.c . Исходный код C определяет несколько функций и макросов для создания оберток вокруг математических функций стандартной библиотеки C, а затем использует macros для определения math.ceil и других функций Python.

  • Как создавать списки содержат только отдельный элемент в Python?
  • Для чего используется функция id ()?
  • Каков самый быстрый способ открыть URL-адреса на новых вкладках через Selenium-Python?
  • Как определить, является ли переменная Python функцией?
  • Как изменить каталог (cd) в Python?
  • В чем цель __str__ и __repr__?
  • Как определить версию Python во время выполнения?
  • тип намека в classе
  • Как конвертировать секунды в часы, минуты и секунды?
  • Что означает% s в строке формата python?
  • Декодер classа classа Python с собственными аргументами?
  • Давайте будем гением компьютера.