I don’t think Jupyter is a good place to start. You should probably start with writing actual Python programs and not .ipynb files. You’ll miss out on core introductory topics like how module imports work.
Learning Python is the same (more or less) whether it’s in Jupyter or some other IDE. Jupyter just has the advantage of inherent code segmenting and a more sophisticated means of documenting both the code and the purpose of the Jupyter Notebook.
WRT using Jupyter, each “cell” is somewhat independent of each other. But once you execute code in one cell, its results remain in memory. So running a cell toward the “bottom” of the Notebook first will have an impact on running code in an “earlier” cell later on; unless you restart the kernel.
One question that will help you with the question: What exactly do you want to do?
But seriously, notebooks may be just fine for you to learn & do what you need to do, if you’re just doing straightforward number-crunching. If you were going to learn python to do computer science-y things (sorting algorithms, hash tables, etc), then no. Don’t use notebooks. But if you’re going to use it similar to R, why not.
Not jupyter related (since it’s by Joel Grus, who meep already established as not liking notebooks), but a fun Python-related watch. I suspect it will be inscrutable if you’re not already acquainted with backprop learning for feedforward neural nets, but I found it interesting to watch how he structured his library and what python language functionality he used: