Где math.py и sys.py?

Я нашел все остальные модули в Python33/Lib, но я не могу их найти. Я уверен, что есть и другие "пропавшие", но это единственные, что я заметил. Они отлично работают, когда я их импортирую, я просто не могу их найти. Я проверил sys.path, и их там не было. Они встроены или что-то в этом роде?

Ответ 1

Модули math и sys являются встроенными - для целей скорости они написаны на C и напрямую включены в интерпретатор Python.

Чтобы получить полный список всех встроенных функций, вы можете запустить:

>>> import sys
>>> sys.builtin_module_names

На моей машине это приводит к следующему списку:

__builtin__
__main__
_ast
_bisect
_codecs
_codecs_cn
_codecs_hk
_codecs_iso2022
_codecs_jp
_codecs_kr
_codecs_tw
_collections
_csv
_functools
_heapq
_hotshot
_io
_json
_locale
_lsprof
_md5
_multibytecodec
_random
_sha
_sha256
_sha512
_sre
_struct
_subprocess
_symtable
_warnings
_weakref
_winreg
array
audioop
binascii
cPickle
cStringIO
cmath
datetime
errno
exceptions
future_builtins
gc
imageop
imp
itertools
marshal
math
mmap
msvcrt
nt
operator
parser
signal
strop
sys
thread
time
xxsubtype
zipimport
zlib

Ответ 2

Эти модули не написаны на Python, а в C. Вы можете найти их (по крайней мере, на linux) в подпапке lib-папки под названием lib-dynload.
Затем математический модуль находится в файле math.cpython-33m.so (в окнах, вероятно, с .dll вместо .so). Часть cpython-33m - это моя версия python (3.3).

Ответ 3

Я не знаю о математике, но sys - это служба времени исполнения для интерпретатора и, следовательно, всегда доступна. Проверьте этот. Вы также найдете список встроенных модулей на этой странице.

Также ознакомьтесь с этим, и вы можете попробовать следующие ссылки.

Ответ 4

Модули, такие как математика, время, gc, не пишутся на питоне и, как справедливо говорят в вышеприведенных ответах, что они где-то (написаны или модулированы) в интерпретаторе python. Если вы импортируете sys и затем используете sys.builtin_module_names (он дает кортеж имен модулей, встроенных в этот интерпретатор). math - один из таких модулей в этом списке. Итак, мы можем видеть, что математика исходит отсюда и не написана отдельно в библиотеке или в любой другой папке в виде кода на Python.