Где я могу увидеть код списка python в /usr/lib/python3.x?

Здесь я вижу исходный код всех основных модулей Python, таких как 'os', 'turtle', 'multiprocessing', 'argparse',... но я не могу найти определения классов встроенных структур данных, таких как dict и список. Я старался

$ grep -r 'class list' .
./pydoc_data/topics.py:          '   the base class list; "__doc__" is the class’s documentation '
./pydoc_data/topics.py:             'class list([iterable])\n'
Binary file ./pydoc_data/__pycache__/topics.cpython-36.pyc matches

Но не нашел реализации «класса» в этом файле «topics.py».


person ankit    schedule 19.12.2020    source источник
comment
Он написан на C, вы можете просмотреть исходный код на github github.com/python/cpython.   -  person Iain Shelvington    schedule 19.12.2020
comment
Это слишком широкий репозиторий. Можете ли вы помочь мне перейти к нужному файлу?   -  person ankit    schedule 19.12.2020
comment
Заголовочный файл для списка находится здесь github.com/python/cpython/blob/   -  person Iain Shelvington    schedule 19.12.2020
comment
Я не могу этого понять. Может быть, я смогу получить то, что изначально искал, в реализации PyPy?   -  person ankit    schedule 19.12.2020
comment
Первоначально я искал файл .py, реализующий класс списка Python.   -  person ankit    schedule 19.12.2020
comment
Реализация pypy довольно тяжелая для чтения, удачи github. com/mozillazg/pypy/blob/   -  person Iain Shelvington    schedule 19.12.2020
comment
Большое спасибо Иэн Шелвингтон. Но должен ли я, будучи студентом, ломать голову над этими 2000 строками кода или подождать, чтобы немного изучить C и CPython, чтобы понять реализацию CPython? Что будет лучше в долгосрочной перспективе?   -  person ankit    schedule 19.12.2020
comment
Я бы посоветовал прочитать о структурах данных и алгоритмах в целом, если вы студент, подобные проекты возникнут. Вам не нужно знать точную работу реализации списка Python.   -  person Iain Shelvington    schedule 19.12.2020
comment
Спасибо, Ян, я нашел ваш совет разумным и буду следовать ему. Еще раз спасибо.   -  person ankit    schedule 19.12.2020
comment
Я предполагаю, что ваш комментарий также означал, что изучение DSA также поможет мне понять эти реализации, если я когда-нибудь попытаюсь это сделать?   -  person ankit    schedule 19.12.2020
comment
Программирование является DSA, оно даст вам понимание практически любой реализации, если вы достаточно изучите его (если вы можете читать язык), хотя обычно достаточно просто знать, как что-то может быть реализовано , красота с открытым исходным кодом   -  person Iain Shelvington    schedule 19.12.2020