Skip to content

PawelGozdz/python-for-node-developers

Repository files navigation

Course info

Info

Goals

Course is designed to make TS developer grasp an idea of a new language and start working asap.

Lectures are using markdown with some additional plugins for Obsidian ("dataview") in case if we decide to link files one to the other.

Python-for-Node-developers course Sections

**Section 1:

Section 2: Python Ecosystem Basics for TS Developers

  • Python version differences (2 vs 3)
  • Python installation across different systems (comparison with Node.js)
  • Python REPL vs Node.js REPL
  • Running scripts (python script.py vs node script.js)
  • PEP 8 and naming conventions (vs JS/TS conventions)

Section 3: Project and Dependency Management

  • Python vs Node.js project structure
  • Environment Isolation (venv vs nvm)
  • Package Management (pip vs npm/yarn)
  • Jupyter Notebooks

Section 4: Module System and Scopecd

  • import/export in Python vs ES modules
  • Module paths and PYTHONPATH vs NODE_PATH
  • Namespaces in Python vs scope in JS
  • _init_.py and its role

Section 5: Basic Syntax and Types

  • Dynamic typing in Python vs JS
  • Type hints in Python vs TypeScript
  • Basic types (str, int, float, bool)
  • None vs null/undefined
  • Comparison operators (== vs is)
  • Logical operators (and/or vs &&/||)

Section 6: Functions and Parameters

  • [Function Definitions Python vs TypeScript](Section-1/S5L1 Function Definitions Python vs TypeScript.md)
  • Default and named parameters (key difference vs JS)
  • Decorators vs Higher Order Functions
  • Type annotations in functions

Section 7: Data Collections

  • list vs Array (fundamental differences)
  • tuple vs readonly Array
  • set vs Set
  • dict vs Object/Map
  • Immutability in Python vs JS

Section 8: Advanced Collection Operations

  • Python Specialized Collections: deque, heapq, bisect

Section 9: OOP Basics

  • Class definition in Python vs JS/TS
  • Constructor (init vs constructor)
  • self vs this
  • Properties and methods
  • Encapsulation in Python

Section 10: Advanced OOP

  • Multiple inheritance (not available in TS)
  • super() in Python vs JS
  • Abstract Base Classes vs Interfaces
  • Dataclasses

Section 11: Python Magic Methods

  • Magic methods

Section 12: Error Handling and Context

  • Exception handling (try/except vs try/catch)
  • Exception hierarchy
  • finally and else
  • Context managers and with
  • @contextmanager

Section 13: Functional Programming

  • Lambda expressions vs arrow functions
  • map, filter, reduce vs Array methods
  • Partial functions and currying
  • functools module
  • Pure functions and immutability

Section 14: Asynchronous Programming

  • async/await syntax comparison
  • Event loops in Python vs JS
  • asyncio basics
  • Asynchronous patterns
  • Differences in asynchronicity approach

About

Documentation for online course

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published