Как я могу просмотреть, какой код выполняется, когда я использую определенную функцию?

#python

#python

Вопрос:

Мне интересно, что функция печати делает за кулисами. Как я могу просмотреть код, который выполняется, когда я использую функцию печати в python, среди других функций?

Комментарии:

1. будьте более конкретными, перечислите некоторые ожидаемые результаты

2. Вы можете попробовать выполнить поиск в папке установки Python. Большая часть кода доступна.

Ответ №1:

Изучение того, как что-то реализовано в стандартной библиотеке, — отличный способ узнать об этом языке.

К сожалению, значительная часть Python реализована на языке C, что делает изучение этих частей менее познавательным и более сложным.

Модули (то, что вы import используете) можно найти в файловой системе, и их части легко проверить. Попробуйте

 import os.path
print(os.path.__file__)
 

Это должно показать вам файл, в котором реализован определенный модуль (например os.path ).

В моей смутной памяти print происходит из модуля, называемого builtins, и реализован на C — но я могу ошибаться.

В основном это выглядит так:

 def print(*args):
    sys.stdout.write(''.join(args))
 

sys.stdout.write вызывает функцию записи операционной системы для дескриптора файла 1 , который определяется как стандартный вывод или «экран».

Ответ №2:

вы можете использовать Inspect

ваш код должен выглядеть следующим образом

 import inspect

inspect.getdoc(print)
 

Редактировать: не для чего-то