Menu

Python

Python Basics

Fundamental concepts of the Python programming language.

Introduction to Python

Content for Introduction to Python, its philosophy, and common use cases will go here.

Basic Syntax & Variables

Content covering Python's basic syntax, indentation, comments, and variable declaration/assignment.

Data Types (Numbers, Strings, Lists)

Content explaining core data types: integers, floats, booleans, strings, lists, tuples, dictionaries, sets.

Control Flow (if, for, while)

Content on conditional statements (if/elif/else) and loops (for, while).

Functions

Content on defining and calling functions, arguments, return values, and lambda functions.

Modules & Packages

Content on importing modules, using standard library modules, and creating/using packages.

Object-Oriented Python

Understanding Python's object-oriented programming features.

Classes and Objects

Content on defining classes, creating objects (instances), constructors (__init__), methods, and attributes.

Inheritance

Content explaining single and multiple inheritance, method overriding, and super().

Polymorphism

Content on duck typing and how polymorphism works in Python.

Encapsulation

Content on access control (public, protected, private conventions) and properties.

Python for Embedded Systems

Using Python in resource-constrained environments.

MicroPython

Content introducing MicroPython, its features, and supported hardware.

CircuitPython

Content on CircuitPython, its differences from MicroPython, and its focus on ease of use.

Hardware I/O (GPIO, ADC)

Content on controlling GPIO pins, reading analog values with ADC using MicroPython/CircuitPython libraries.

Communication Protocols (SPI, I2C)

Content on using SPI, I2C, and UART with Python on microcontrollers.

Libraries for Embedded

Content about common libraries and drivers available for sensors and modules in the MicroPython/CircuitPython ecosystem.

Limitations & Considerations

Content discussing performance, memory usage, and other limitations of Python in embedded contexts compared to C/C++.

Advanced Python Concepts

Exploring more advanced features of the Python language.

Decorators

Content explaining what decorators are and how to use them.

Generators & Iterators

Content on creating and using generators and iterators for efficient data processing.

Asynchronous Programming (asyncio)

Content on using asyncio for concurrent programming in Python, relevant for some embedded applications.

Testing in Python (unittest, pytest)

Content on writing unit tests and using testing frameworks like unittest and pytest.

Packaging & Distribution

Content on creating packages and distributing Python code (e.g., using setuptools, PyPI).

Python & External Systems

Interfacing Python with other languages and systems.

Interfacing with C/C++ (ctypes, Cython)

Content on using ctypes or Cython to call C/C++ code from Python for performance-critical sections.

Working with APIs

Content on making HTTP requests and consuming web APIs using Python libraries like `requests`.

IoT Platforms & Python

Content on how Python is used with IoT platforms and cloud services.