Hi, welcome to the forum.
I've moved your category from core development (which is about the development of Node-RED itself) to "Creating Nodes".
Also, you've managed to get all of your text in bold somehow which seems a bit "shouty" It is hard to read for aging eyes like mine
To answer your questions ...
You can't really. There is a node that lets you write Python in what looks like a function node (I've never used it). Or you can run external Python code via the exec node.
In the 2nd case, you can use standard Python tools if you know how to add a debugging interface to a Python app.
Another way to interface between the 2 would be to create a Python daemon (server) app - effectively a Python-based API server. Then with both that and Node-RED running, you could easily use the TCP, HTTP or Websocket features of Node-RED to communicate with your Python server. This is actually a lot easier than it sounds.
This has been written up a few times, try a search through the forum.
Here are a couple of my own related blog posts: