Как просмотреть модули Python? Это файлы .so, и PyCharm не распознает, как их открыть.

Я хочу прочитать, как работают некоторые модули. Я думал, что это будут файлы .py, которые могли бы научить меня внутренней работе того времени. Однако, когда я импортирую модуль, он говорит, что он исходит из /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib-dynload/math.cpython-36m-darwin.so

Я зашел в папку lib-dynload во внешних библиотеках в PyCharm, но все файлы этих модулей имеют расширение «.so».

Что такое файл .so?

Как я могу просмотреть файл .so и узнать о его коде?

Если это не очевидно, я очень новичок в python, поэтому, пожалуйста, дайте описательный ответ.


person vampiire    schedule 05.03.2017    source источник


Ответы (1)


Файлы .so являются собственными общими библиотеками. Они написаны на C, а не на Python. Если вам интересно, вы можете посмотреть исходный код Python.

person Joseph Sible-Reinstate Monica    schedule 05.03.2017
comment
Есть ли способ их просмотреть? Я только сегодня узнал о модулях. У меня сложилось впечатление, что модули представляют собой набор функций, которые можно импортировать, а не переписывать каждый раз, когда вы хотите их использовать. Учитывая это понимание, я ожидал, что смогу прочитать их как файлы .py и посмотреть, как они выполняют свои действия. - person vampiire; 06.03.2017
comment
Большинство модулей такие, но из соображений производительности некоторые модули Python вместо этого написаны на C. Например, github.com/python/cpython/blob/ является источником математического модуля Python. - person Joseph Sible-Reinstate Monica; 06.03.2017
comment
Спасибо. Итак, то, что я просматриваю по этой ссылке, написано на C? (Это C сокращение от C++?) - person vampiire; 06.03.2017
comment
Да, они написаны на C. Нет, это не сокращение от C++. - person Joseph Sible-Reinstate Monica; 06.03.2017
comment
Спасибо за помощь. - person vampiire; 06.03.2017