Welcome to the intermediate Python programming tutorial series. In this series, we’re going to be taking the “next steps” after one has become comfortable with the basics of Python, and has been working with it for a bit.
Up to this point, my tutorials have all been done using very basic, rudimentary Python. My definition of basic Python: code that is meant to “just make it run.” This is fine for beginners, because there’s not much point in overloading with nuances (most people wont retain it, since they don’t care, at least I didn’t when I was starting out).
I define intermediate Python code as:
Modular – Easily used by others and/or in other projects by you or others. Basically, write code with the intention to honor DRY (don’t repeat yourself).
Maintainable – …Both by the original author and by other users. Is it easily read-able and understood?
Scales – For this to happen, code needs to be efficient when it runs, and be able to scale. Think about reading files, working with requests, or doing calculations. Maintainability also plays a major role in scaling.
In general, code that meets the above standards in Python is done with the Object Oriented Programming (OOP) paradigm. There does exist another paradigm, called Functional Programming (FP), and there are bloody wars fought over which is better. We’re going to use OOP. Either one of these is better than outright scripting, which what most beginner programmers are really doing.
To begin this series, I am going to teach a few basic standard library functions and functionalities of Python that will replace otherwise bad habits in programming, before getting into Object Oriented Programming and design.