~3m skim, 484 words, updated Apr 16, 2026
Children, script kiddies, data engineers, and grad students love Python!
Programming is tough. Especially at first.
Whatever you are learning or writing, keep in mind that every language was created with a set of principles and use cases in mind - some more than others.
Learn to reject your ego. Learn to love burning code.
Name things what they are. Begin with your program’s final state in mind!
Learning Python is easy and fun - and yes, you ought to do it!
As a beginner’s step into the world of computers, Python is amazing, enabling a first encounter with the magic of computing. For statisticians, Python exposes an easy-to-use method to interact with complex low-level algorithms, a huge boon to productivity. For cubicle workers, a high-level interface for scripting, simplifying automation and surpassing the usefulness of any click-based configuration system.
However, be warned - additional Computer Science knowledge is required to become a good programmer, and if you only ever write Python, you’ll only ever write good code accidentally. Python is a programming language, and like any other, has strengths and weaknesses. The greatest strength of the language - its ease of use - also happens to be the achilles heel of the system. Python enables new, inexperienced, or foolish users to write terrible rats-nests of logic, built upon cranky old design methodologies that have long since been proven to be (at best,) utterly useless boilerplate busywork. If you want to be a great programmer, you will need to learn a lot more about computers.
This manual was wiped and recreated from scratch in September 2025, when I began using Python daily again after a years-long hiatus from the language. Focusing on cloud technology, functional programming, and data engineering has dramatically improved my techniques for designing systems that are easy to understand and debug, and hold up in production. Coming back has been equal parts delightful and disappointing - Python is not a productivity panacea.
Basics:
Advanced Concepts:
Most of my teams use uv , “A single tool to replace pip, pip-tools, pipx, poetry, pyenv, twine, virtualenv, and more.” I run this alongside the venerable asdf-vm , which manages my system Python and every other programming language I use.
# Install prerequisites for Python and CPython's build routines
sudo apt update
sudo apt install libpq-dev python3-dev libxmlsec1-dev \
make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
libncursesw5-dev xz-utils tk-dev libxml2-dev \
libffi-dev liblzma-dev just
# Add the ASDF Python plugin
asdf plugin add python https://github.com/asdf-community/asdf-python.git
asdf plugin update --all
# Install a version of Python
asfd install python 3.14.4
# Set this as the global version of Python
asdf set --home python 3.14.4
asdf reshim
# Make "uv" available on the system, and other useful global packages
pip install uv pre-commit
asdf reshimPages are organized by last modified.
Title: Python
Word Count: 484 words
Reading Time: 3 minutes
Permalink:
→
https://manuals.ryanfleck.ca/py/