awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
jerry-git avatar

jerry-git/learn-python3

0
View on GitHub↗
6,754 stars·1,839 forks·HTML·mit·17 views

Learn Python3

This is an interactive Python tutorial delivered as a collection of Jupyter notebooks. It is designed as a structured learning path for beginners, teaching fundamental language concepts through a sequence of lessons that combine explanatory text with runnable code cells and embedded practice exercises. Each notebook is a self-contained unit that introduces a topic, demonstrates it with a minimal code example, and then asks the learner to write code themselves, receiving immediate feedback from the browser-based execution environment. The curriculum is built on a progressive concept-stacking model, where each new topic builds directly on previously introduced syntax and patterns, and all exercises run using only the Python standard library to eliminate setup friction.

The tutorial distinguishes itself by covering not just basic syntax but also the broader Python development workflow. It includes dedicated notebooks on setting up virtual environments, managing dependencies, structuring projects into modules and packages, and using professional tooling like code formatters, linters, and pre-commit hooks. A separate track teaches automated testing with pytest, covering fixtures, parametrization, mocking, and temporary file management. The material also explores idiomatic Python patterns—such as comprehensions, context managers, tuple unpacking, and chained comparisons—that help learners write more readable and efficient code from the start.

Beyond the core language and workflow, the notebooks demonstrate a wide range of standard library modules for tasks like file I/O, JSON encoding, date and time manipulation, random number generation, logging, and debugging with breakpoints. Object-oriented programming is introduced through classes, inheritance, properties, and custom string representations. The collection also covers error handling with try/except/finally blocks and custom exception types, as well as resource management with context managers. Each capability area is presented through the same interactive notebook format, ensuring a consistent learning experience throughout.

The entire tutorial is delivered as Jupyter notebooks that can be run locally with no external dependencies beyond the Python standard library.

Features

  • Interactive Notebook Tutorials - Delivers an interactive Python tutorial as Jupyter notebooks with embedded exercises.
  • Jupyter Notebook Curricula - The entire repository is a structured Jupyter notebook curriculum for learning Python.
  • If-Elif Chains - Evaluates a series of boolean expressions in sequence and runs the block for the first true condition.
  • Range Generators - Teaches generating numeric ranges with range for use in loops.
  • Standard Library Curricula - Teaches Python using only built-in modules, avoiding external dependencies for all examples.
  • Key-Value Pair Managers - Teaches using dictionaries as key-value collections for storing and manipulating data.
  • Dictionary Construction - Teaches creating dictionaries with curly braces or the dict() constructor.
  • Web-Based REPLs - Provides a browser-based REPL for executing Python code cells with immediate feedback.
  • Standard Library Sandboxes - Runs all notebooks using only the Python standard library, eliminating setup friction.
  • Python Development Guides - Provides notebooks covering virtual environments, packaging, and professional Python workflows.
  • Function Definitions - Teaches defining reusable blocks of code that accept inputs and return results.
  • Embedded Notebook Exercises - Embeds practice tasks within explanatory notebook cells requiring active code writing.
  • Notebook-Based Lessons - Delivers each lesson as a self-contained Jupyter notebook combining text, code, and exercises.
  • Code Examples - Demonstrates every concept with minimal runnable code snippets before abstract explanations.
  • Parallel Collection Iterations - Teaches iterating over multiple collections in parallel using zip.
  • Conditional Branching - Teaches if-statement conditional branching as a fundamental Python control flow construct.
  • Dictionary Comprehensions - Teaches concise dictionary construction using comprehension syntax in interactive notebooks.
  • List and Set Comprehensions - Teaches list and set comprehensions as idiomatic Python constructs for concise collection building.
  • Dictionary Iteration - Teaches iterating over dictionary key-value pairs using .items() in interactive notebooks.
  • Function Argument Passing - Teaches passing values to functions as positional or keyword arguments.
  • Default Arguments - Teaches assigning fallback values to function parameters for optional arguments.
  • Indexed Iteration - Teaches using enumerate to pair each element with its index during iteration.
  • Progressive Concept Sequences - Orders topics so each new concept builds directly on previously introduced syntax and patterns.
  • Keyword Argument Usage - Teaches specifying arguments by name when calling functions.
  • Standard Library Exploration - Demonstrates built-in Python modules and tools without external dependencies.
  • Truthiness Evaluators - Converts any Python value to its truthy or falsy boolean equivalent for use in conditions.
  • Loop Iteration Skipping Mechanisms - Teaches loop break statements as a fundamental Python control flow mechanism.
  • Integer Arithmetic - Teaches integer arithmetic operations including floor division, modulus, and exponentiation.
  • List Iteration - Teaches walking through each element of a list in sequence using a for loop.
  • Named Tuples - Teaches creating named tuples for readable, self-documenting immutable data records.
  • Test Driven Development - Teaches writing tests before implementation to ensure code matches requirements.
  • pytest Tutorials - Teaches pytest fixtures, parametrization, and testing practices through interactive notebooks.
  • Local File Writing - Teaches creating or overwriting files with text content using context managers.
  • Date and Time Libraries - Teaches Python's datetime module for creating, inspecting, and formatting dates and times.
  • Dictionary Copying - Teaches creating independent dictionary copies using the dict() constructor.
  • Existence Verifiers - Teaches checking whether a path points to an existing file or directory.
  • Boolean Aggregation Checks - Teaches built-in any() and all() functions for boolean aggregation checks.
  • Entry Removals - Teaches removing dictionary entries with del, pop, and popitem methods.
  • Safe Key Accessors - Teaches safe key access with get to return a default instead of raising an error.
  • Default Value Assignments - Teaches setdefault to assign a default value only when a key is absent.
  • Truthy Fallback Selections - Teaches the or-operator pattern for selecting the first truthy value from options.
  • Maximum Value Calculators - Teaches built-in max() and min() functions for finding extreme values.
  • Path Construction Utilities - Teaches constructing and resolving file-system paths with an object-oriented API.
  • Module Organization - Teaches structuring Python source files into modules and packages for maintainability.
  • Expression Embedding - Teaches f-string syntax for embedding variables and expressions directly in string literals.
  • Temporary Directory Managers - Teaches creating and automatically cleaning up disposable file-system resources during tests.
  • pytest Fixtures - Teaches writing automated tests with pytest fixtures, parametrization, and mocking.
  • Random Number Generation - Teaches Python's random module for generating random numbers with optional seeding.
  • JSON Serialization - Teaches Python's json module for encoding objects to JSON and decoding JSON strings.
  • Conditional Logic - Teaches joining boolean expressions with and, or, and not operators.
  • Context Managers - Teaches the with statement for resource management as a core Python language construct.
  • Custom Exception Definitions - Teaches creating application-specific exception classes by inheriting from Exception.
  • Dictionary Construction From Sequences - Teaches constructing dictionaries by pairing two sequences using zip.
  • Default Value Initializers - Teaches using defaultdict to supply default values for missing dictionary keys.
  • Dictionary Merging - Teaches merging dictionaries with update, overwriting existing keys with incoming values.
  • Entry Additions and Updates - Teaches inserting and updating dictionary entries using assignment syntax.
  • Starred Sequence Unpackings - Teaches starred expression unpacking for assigning first, last, and middle elements.
  • Loop Else Clauses - Teaches the for-else loop construct, a distinctive Python language feature.
  • Specific Symbol Imports - Teaches importing individual classes or functions from a module for direct use.
  • Hierarchical Imports - Teaches loading modules from package hierarchies using dot-separated import paths.
  • Namespace Imports - Teaches importing entire modules and accessing contents through the module name.
  • Relational Value Comparisons - Teaches checking equality, inequality, and ordering between values using standard operators.
  • Exception Suppression - Teaches catching specific exception types with multiple except clauses.
  • Try-Except-Else Blocks - Teaches the try-except-else construct for separating success logic from error handling.
  • Finally Blocks - Teaches the finally block for unconditional cleanup after exception handling.
  • Sequence Reversals - Teaches reversing sequences with reversed to iterate from last to first element.
  • Tuple Unpacking Swaps - Teaches tuple unpacking for swapping variable values without a temporary variable.
  • Floating Point Arithmetic - Teaches floating-point number representation and its precision limitations.
  • Decimal Arithmetic Types - Teaches Python's Decimal type for precise decimal arithmetic without rounding errors.
  • Comparison Operator Chaining Rules - Teaches combining multiple relational operators into one expression to test ranges.
  • Operator Precedence Management - Teaches operator precedence rules and bracket usage for controlling evaluation order.
  • Package-Based Code Organization - Teaches organizing related modules into packages to keep projects maintainable.
  • Collection Element Counters - Teaches Python's collections.Counter for tallying element occurrences in collections.
  • Monkeypatching Utilities - Teaches overriding environment variables and object attributes during tests for isolation.
  • Pytest Fixtures - Teaches creating reusable test fixtures to avoid duplicating setup code across test cases.
  • Dependency Mocking - Teaches replacing module dependencies with controlled substitutes during testing.
  • Manual Test Code Writing - Teaches writing test cases manually to verify behavior and catch regressions.
  • Parametrized Test Cases - Teaches parametrization of test cases with multiple input-output pairs using pytest decorators.
  • File Reading - Teaches opening and reading files line by line using context managers.
  • Ternary Expression Evaluators - Teaches ternary conditional expressions for concise value selection in Python.
  • Python Development Resources - Case-based learning for Python 3 using Jupyter Notebooks.

Star history

Star history chart for jerry-git/learn-python3Star history chart for jerry-git/learn-python3

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does jerry-git/learn-python3 do?

This is an interactive Python tutorial delivered as a collection of Jupyter notebooks. It is designed as a structured learning path for beginners, teaching fundamental language concepts through a sequence of lessons that combine explanatory text with runnable code cells and embedded practice exercises. Each notebook is a self-contained unit that introduces a topic, demonstrates it with a minimal code example, and then asks the learner to write code themselves, receiving…

What are the main features of jerry-git/learn-python3?

The main features of jerry-git/learn-python3 are: Interactive Notebook Tutorials, Jupyter Notebook Curricula, If-Elif Chains, Range Generators, Standard Library Curricula, Key-Value Pair Managers, Dictionary Construction, Web-Based REPLs.

What are some open-source alternatives to jerry-git/learn-python3?

Open-source alternatives to jerry-git/learn-python3 include: trekhleb/learn-python — This project is an educational resource designed for learning the Python programming language. It serves as a tutorial… carp-lang/carp — Carp is a statically typed Lisp compiler that compiles Lisp-like syntax directly to C source code, enabling seamless… c3lang/c3c — c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static… rockstarlang/rockstar — Rockstar is an esoteric programming language whose syntax is inspired by 1980s hard rock and heavy metal lyrics,… oils-for-unix/oils — Oils is a Unix shell interpreter and scripting language runtime that combines a modern shell language with POSIX and… reasonml/reason — Reason is a strongly typed functional language and multi-target compiler designed to produce either JavaScript for web…

Open-source alternatives to Learn Python3

Similar open-source projects, ranked by how many features they share with Learn Python3.
  • trekhleb/learn-pythontrekhleb avatar

    trekhleb/learn-python

    18,058View on GitHub↗

    This project is an educational resource designed for learning the Python programming language. It serves as a tutorial repository and programming guide, providing a collection of annotated scripts, code examples, and cheatsheets to help users master syntax and core fundamentals. The resource focuses on moving from basic language syntax to advanced implementation, with a particular emphasis on object-oriented programming, the use of the Python standard library, and scripting automation for business workflows. The content covers a broad range of programming capabilities, including control flow

    Pythonlearninglearning-by-doinglearning-python
    View on GitHub↗18,058
  • carp-lang/carpcarp-lang avatar

    carp-lang/Carp

    5,815View on GitHub↗

    Carp is a statically typed Lisp compiler that compiles Lisp-like syntax directly to C source code, enabling seamless integration with existing C libraries and low-level system programming. It manages memory deterministically at compile time using ownership tracking and linear types, eliminating garbage collection pauses and runtime overhead while ensuring type safety through an inferred static type system. The language distinguishes itself through compile-time macro expansion and metaprogramming capabilities, allowing code generation and transformation before final binary output. It enforces

    Haskellfunctionalfunctional-programminggame-development
    View on GitHub↗5,815
  • c3lang/c3cc3lang avatar

    c3lang/c3c

    5,147View on GitHub↗

    c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static libraries, or dynamic libraries using an LLVM backend. It implements a system based on result-based error handling, scoped memory pooling, and a semantic macro system. The compiler provides first-class support for hardware-backed SIMD vectors that map directly to processor instructions and enables runtime polymorphism through interface-based dynamic dispatch. The project covers a broad set of low-level capabilities, including manual and pooled memory management, inline assembly inte

    C3c3compilerlanguage
    View on GitHub↗5,147
  • rockstarlang/rockstarRockstarLang avatar

    RockstarLang/rockstar

    6,882View on GitHub↗

    Rockstar is an esoteric programming language whose syntax is inspired by 1980s hard rock and heavy metal lyrics, making programs read like song lyrics. It uses poetic number literals, where the length of each word in a phrase is parsed as a decimal digit to initialize numeric variables, and pronoun-based variable references, where words like "it" and "they" resolve to the most recently assigned or compared variable at runtime. The language can be compiled to WebAssembly and run inside a web page for in-browser code execution. The language distinguishes itself through a lyric-driven parsing sy

    JavaScript
    View on GitHub↗6,882
See all 30 alternatives to Learn Python3→