Hi Reader,
Wherever you are in the world today, I wish you safety, health, and happiness! 💗
🔗 Link of the week
This guide was written by my pal Trey Hunner, and it’s the single best source I’ve found for clear explanations of Python terms and concepts. I use it to learn new things and to double-check that my teaching materials are correct!
👉 Tip #29: Faster coding using magic commands
Back in tip 24, I introduced you to IPython magic commands, which are special commands that you can use in Jupyter.
You learned about line magics, which start with % and apply to one line of code:
- %lsmagic
- %quickref
- %time
- %timeit
- %who
- %whos
- %history
- %pastebin
You also learned about cell magics, which start with %% and apply to an entire cell:
- %%time
- %%timeit
Today, I’m going to introduce you to 4 more magic commands that are great for saving, displaying, and running code!
Save & reuse Python code without leaving Jupyter
Let’s pretend that you’re working in a large Jupyter notebook and you come up with a brilliant new function:
You want to save this function to reuse in other notebooks. Without leaving Jupyter, you use the %%writefile cell magic to save just this function to another Python script:
And now your function is preserved in a separate file!
Weeks pass, and you’re working in a new notebook that could benefit from this function. You want to remind yourself what’s in the function, so you output the file contents using the %pycat line magic:
If it needed some edits, you could use the %load line magic:
Running that command loads the contents of the file into the cell (but does not run it) so that you can make those edits:
But in this case, the function is perfect as-is. Thus you use the %run line magic to run the existing file:
Our function is now available for use in this new notebook:
Key takeaway: With this workflow, you can save and reuse code blocks without ever leaving the Jupyter environment!
You can also %run an entire notebook
By the way, %run even works with notebooks! For example, if you had this notebook called drinks.ipynb:
You could run the entire notebook from another notebook, and just see its output:
Key takeaway: You can build a series of smaller notebooks, and then run them all from a “master” notebook that only displays the output (and hides the underlying code).
If you enjoyed this week’s tip, please forward it to a friend! Takes only a few seconds, and it really helps me reach more people! 🙏
See you next Tuesday!
- Kevin
P.S. Which came first, the chicken or the egg?
Did someone awesome forward you this email? Sign up here to receive Data Science tips every week!