Python / A primer for Python that I wrote.
I wrote this because many classmates and friends had little to no experience with Python before the MATH-340 class. Programming in Python (and in general) will make much more sense if you pay special attention to tidiness, syntax and semantics (what does things mean). In many Java and C++ classes I'd see poorly formatted code, making projects basically impossible for me to read and understand let alone the person who wrote it. But in Python we must be tidy, the syntax requires it. Python is a rare language where whitespace actually matters (every control block must be consistently indented). And lastly, because Python is a language which does not ask much of us as programmers (i.e. dynamically typed) we actually should be more careful in understanding what we're writing and how things change.
Pyright and Pylama for neovim Python development
Switching to
pyright
🪨It turned out that
pylsp
wasn't all that I thought it was, and I've switch to Microsoft's LSP,pyright
. It's job is to do, in addition to a limited amount of linting (which I'll probably turn off), the static type-checking that I was usingmypy
for, except even better: finallymatch
statement support! This left me to re-includenull-ls
for formatting withblack
andisort
, and diagnostics withpylama
. But there were a few problems.
If working on a library that has some strict lower Python version, e.g. lower than 3.10, then it is a good idea to require pyright locally, to have a local
poetry.toml
file with the following