Home > Software engineering >  Finding python source internals
Finding python source internals

Time:12-10

I like to read the source of src.contains(). As src is a python built-in class and it is open source I think it is available for inspection. I can see the definition in builtins.pyi. For the source I downloaded : git clone https://github.com/python/cpython/ and searched for "class src(", I found nothing. In cpython/Lib/string.py I see a reference to "import _string" but again I am unable to find _string.py. Can you explain to me the procedure I have to follow to find a class implementation? Thanks.

CodePudding user response:

check out the python documentation:https://docs.python.org/3.10/ That's usually the first and best place to look up something related to a package or program.

This link https://docs.python.org/3.10/py-modindex.html redirects you to the bultin modules of python. When you click on one of them you will see a link to the source code beneath the header.

Hope that helped.

CodePudding user response:

Since you are digging the cpython source code, you must be familiar with python。

we can get the answer like this, in ipython:

In [1]: import _string

In [2]: dir(_string)

Out[2]: ['doc', 'loader', 'name', 'package', 'spec', 'formatter_field_name_split', 'formatter_parser']

In [3]: _string.package

Out[3]: ''

In [4]: _string.loader

Out[4]: _frozen_importlib.BuiltinImporter

At this time,we can see this _string module came from BuiltinImporter

And There is method called formatter_field_name_split, search this name in the project you will find that in Objects/unicodeobject.c

At the end of this file ,you `ll get all you want

  • Related