Skip to content

0. About Python

Python is an expansive language with tons of features that even veterans of the language can sometimes miss. This set of notes on python follow my investigations into the language and it's hidden features. These notes will not teach the python language, rather introduce some of it's advanced concepts that are not usually taught in intro courses.

Topics here are presented in a semi-chronological order in order to make the information presented best understood.

Topics Covered

A checked box means that the topic is included, empty box implies that it's something to work on.

  • C-like Data structures - named tuples, Enums, DataClass
  • Comprehensions (list, dict, etc.)
  • generators, iterators
  • OOP: slots, hidden methods, abstract bass classes, locals()?
  • GIL, threading, processes
  • Map reduce, enumerate
  • Regular and special data structures (collections, deque, queue)
  • Lambdas
  • Decorators
  • pdb
  • special operators if/else ternary operator
  • closures!
  • scoping: global local etc.
  • Coroutines
  • virtualenv
  • args and kwargs (bring up how kwargs are instantiated once! Mutable!)
  • getattr, setattr etc.
  • building packages.
  • web! sockets, http, etc.