🐍Awesome Python Programming Notes🐍
Tutorials & code snippets on python programming explained (mostly) using Jupyter Notebooks.
- Abstract class vs. virtual abstract class
- Abstract class vs. protocols
- __all__
- args and kwargs
- Assignment
- Broadcasting
- Built-in iterators
- __call__ method
- Class Attributes vs Instance Attributes
- Class construction
- Code style
- Collections
- Composition vs. inheritance
- Conditional else vs. completion else
- Control flow statement
- Control flow statement
- Context manager
- Currying
- Data class
- Declaring priate variables
- Default dictionary
- Decorations
- (Built-in) Decorators | @classmethod | @property | @staticmethod
- Dunder methods
- Error and exceptions
- Exceptions
- First class functions
- From 2.x to 3.x new class definition
- Functions composition
- __future__ module
- Generators
- hashable
- Key differences between Python 2 and 3
- Inheritance in all its flavours
- __init__.py file
- Iterables, iterators and generators
- lambda, map, filter and reduce functions
- List and set comprehensions
- Lists, sets, frozensets, dictionaries and tuples
- Match case statement
- Method overloading vs. method overring
- Module vs. Package vs. Library vs. Framework
- Modules
- namespaces, scope resolution, and the LEGB rule
- Notable methods
- Operators
- Overwriting, overloading and overriding
- Partial functions
- Polymorphims
- Public, private and protected attributes
- Public, private and protected methods
- __repr__ vs, __str__
- self and __init__
- Reference vs. Shallow and deep copy
- Sequence slicing
- Short-circuiting
- String formatting
- String and regular expression
- Type hinting and annotations
- super() and __init__ and __new__
- super()
- _ underscore
- * unpacking
- Variables and objects
- with statement
- Walrus operator
- Wheels
- yield
- __name__ == '__main__'
🎓Online resources to learn python🎓
📒A small note on the notebook rendering 📒
- Two notebooks are available:
- One with coloured boxes and outside folder GitHub_MD_rendering
- One in black-and-white under folder GitHub_MD_rendering