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
pylspwasn'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 usingmypyfor, except even better: finallymatchstatement support! This left me to re-includenull-lsfor formatting withblackandisort, 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.tomlfile with the following