Python and C/C++ relationship Sorry for my bad English, I'm new to Blender and I looked at the code many times.

As I suspect (if I'm not wrong) Blender UI is python and the core is C/C++.

For example when I want to change some features in the UI, I should do some work with python files in "bl_ui", but when I want to change Blender foundations, I should change C/C++ code

I almost know somethings about how this works but, I can't understand the connection and relationship between Python and C/C++.

When we click a button, a python file and function will be used, but what's going on after that?

I don't if know you can understand my question, I can't speak English very well, sorry.

Thank you
Using python you can import a module to use functionality inside that module. Many modules are written using python but a python module can also be a binary file similar to a shared library that was compiled from C/C++ source code. The python/C API reference at docs.python.org details how to write C code to do this.

Blender uses this C-API to provide modules that we can import from python scripts. The binary modules are merged into blender's binary file and the python interpreter built into blender takes care of giving us access to those binary modules. Most of the relevant source code can be found in source/blender/python.

So yes python is used to define blender's interface, the various functions and classes that we use may be implemented in python or C/C++, from the python scripts we run in blender we don't see any difference.