beginner
to a more advanced
python userTaken from Talk Python to Me, Episode #427, with some modifications.
Guest: Eric Matthes, author of Python Crash Course,(#1 Book on Amazon in the category of Open Source Programming.)
Why are you learning python?
Why are you learning data science?
What do you want to do with it?
Use python to solve a problem you are interested in solving.
Don’t be afraid to work on personal projects.
Biobib - Python code to make my CV/Biobib from a google sheets/.csv file.
Triumph - Python notebooks for a 1959 Triumph TR3A EV conversion project.
Stoplight - A simple python webapp for monitoring EDS217 course pace.
Learn more than you need to know…
Math: 3Blue1Brown
Python Data Science: PyData
Data Visualization: Edward Tufte, Cole Nussbaumer-Knaflic, David McCandless
Be curious about what’s possible, not just what’s necessary.
…but try to use less than you think you need
Libraries and packages have great examples of code!
Read the code (not just docs) of the packages you use.
It’s okay if you can’t understand it all. Often you can understand intent, but not what the code does. How would you have done it? Why did the author select a different approach?
Github is a great place to find code.
Learn how to use your IDE (VSCode)
Learn how to use your shell (bash, powershell, WSL)
Learn how to use your version control system (git, Github Desktop)
Testing code is part of writing code, and testing is a great way to learn!
Focus on end-to-end (E2E) tests (rather than unit tests)
Unit tests:
Does it work the way you expect it to (operation-centric)?
End-to-end test:
Does it do what you want it to do (output-centric)?
Don’t over-engineer your code.
Don’t over-optimize your code.
Simple is better than complex.
Refactoring is the process of changing your code without changing its behavior.
Ship of Theseus: If you replace every part of a ship, is it still the same ship?
As you learn more, you will find better ways to do things.
Don’t be afraid to change your code.
Tests (especially end-to-end tests) help you refactor with confidence.
“Code smells”… if it smells bad, it probably is bad.
Write down ideas for projects
Write down ideas for code