Skip to content

BrokenShell/Intro_to_Python

Repository files navigation

Intro to Python

0. Introduction

  • Axioms & Terminology

1. Hello World

  • Input: input()
  • Output: print()

2. Numbers

  • Integer: int
  • Float: float
  • Complex: complex

3. Text: Strings

  • String: str
  • String Ops: builtin methods

4. Ordered Array: Sequences

  • List: list
  • Tuple: tuple

5. Membership Array: Sets

  • Set: set
  • Set Theory Ops: builtin methods
    • .union()
    • .intersection()
    • .difference()
    • .symetric_difference()
  • Membership Testing

6. Associative Array: Dictionaries

  • Dictionary: dict
  • Dictionary Ops: builtin methods
    • .get()
    • .pop()
    • .keys()
    • .values()
    • .items()
  • Dictionary Iteration
  • Dictionary Comprehension

7. Control Flow: Imperative

  • Branch: if, elif & else
  • Iterate: for, while
  • Jump: invocation, see Functor

8. Callable Objects: Functors

  • Function
  • Method
  • Lambda
  • Higher Order Functor

9. Modules & Packages

  • Import Styles
  • Module: Python File
  • Package: Folder of Python Files

10. Class Objects

  • Instantiation
  • Magic Methods
  • Inheritance
  • Polymorphism
  • Class Scope

11 Deep vs Shallow Copy

  • Everything in Python is a Reference
  • Copy Module
    • copy.deepcopy()

12 Parameter Packs

  • Packing
  • Unpacking
  • Keyword Only

13 Iterator vs Iterable

  • iter() function
  • next() function
  • Itertools
    • count()
    • cycle()
    • combinations()
    • combinations_with_replacement()
    • permutation()
    • islice()
    • accumulate()
    • starmap()

14 Generators

  • Generator Function
  • Generator Expression
  • Generator Lambda

15 Decorators

  • Decorator Usage
  • Decorator Design
  • Function Decorator
  • Decorator Class

16 Advanced Class Topics

  • Super Function
  • Meta Classes
  • Dataclasses

17 Installation & Deployment

  • Pypi.org
  • Pip
  • Twine

18 Extensions

  • Basic Cython Extension
  • Knuth B Shuffle Algorithm
  • Design, Build and Install

19 Custom Tooling

  • Advanced Cython Extension
  • High Performance Dice
  • Function Timer
  • Design, Build, Install and Deploy

20 Continued Learning

  • PyCon
  • PyData
  • David Beazely
  • Raymond Hettinger
  • Larry Hastings

About

Beginner to advanced Python programming primer

Resources

Stars

Watchers

Forks