Python 101: Interactively learn how to program with Python 3

This is a 101-level course in Python that will help you learn to program in Python for free.

Beginner

161 Lessons

10h

Certificate of Completion

This is a 101-level course in Python that will help you learn to program in Python for free.

AI-POWERED

Explanations

AI-POWERED

Explanations

This course includes

222 Playgrounds

This course includes

222 Playgrounds

Course Overview

Welcome to Python 101! I created this course to help you learn Python 3. My objective is to get you acquainted with the building blocks of Python so that you can write something useful yourself. With interactive playgrounds to help you learn right away, I will endeavor to not only get you up to speed on the basics, but also to show you how to create useful programs. This course will be split into five parts: Part-I covers Python's basics. Part-II is a small subset of Python's Standard Library. Part-III is...Show More

TAKEAWAY SKILLS

Python

Programming Language

Course Content

1.

All About Strings

In this chapter, you will learn how to handle Python strings, including creation, manipulation, slicing techniques, and formatting for efficient programming.
2.

Lists, Tuples and Dictionaries

This chapter covers essential Python data types, such as lists, tuples, and dictionaries, which are crucial for effective programming.
3.

Conditional Statements

This chapter teaches how to implement decision-making in Python using if/elif/else statements and boolean operations for flexible logic.
4.

Loops

Learn how loops in Python enable repeated operations through for and while constructs, simplifying repetitive coding tasks with various control mechanisms.
5.

Python Comprehensions

In this chapter, you will learn how Python comprehensions create lists, dictionaries, and sets efficiently, making your code cleaner and more readable.
6.

Exception Handling

5 Lessons

This chapter covers exception handling in Python, including error management, common exceptions, and effective cleanup practices.
7.

Working with Files

6 Lessons

This chapter explores file handling in Python, including reading, writing, efficient processing, error management, and best practices with the `with` operator.
8.

Importing

4 Lessons

In this chapter, you will learn how to import modules in Python, with a focus on methods and best practices for effective code management.
9.

Functions

6 Lessons

This chapter explores function definitions, argument handling, variable scope, and the importance of avoiding code duplication in Python programming.
10.

Classes

4 Lessons

In this chapter, you will learn how to use Python classes, covering their structure, instance management, and the principles of inheritance and polymorphism.
11.

Introspection

4 Lessons

This chapter covers how to use Python’s introspection features, including `type`, `dir`, and `help`, for better code insight and debugging.
12.

The CSV Module

3 Lessons

In this chapter, you will learn how to use the CSV module in Python to read and write CSV files efficiently.
13.

configparser

4 Lessons

In this chapter, you will learn how to use Python’s `configparser` module for managing configuration files, including creation, manipulation, and interpolation.
14.

Logging

4 Lessons

This chapter teaches how to use Python’s logging for effective debugging, covering structured logging, multi-module support, and configuration options.
15.

The os Module

5 Lessons

Learn how to use the `os` module in Python for file and directory operations, accessing platform information, and handling environmental variables.
16.

Sending emails

4 Lessons

Learn how to send and manage emails in Python, including handling CC, BCC, and attachments for enhanced functionality.
17.

The SQLite Module

4 Lessons

This chapter introduces SQLite’s integration with Python, covering database creation, data manipulation, and executing basic SQL queries efficiently.
18.

The subprocess Module

4 Lessons

Learn how the subprocess module in Python facilitates process initiation and management, supports safe execution, and communicates with external applications.
19.

The sys Module

1 Lesson

In this chapter, you will learn to use the `sys` module for managing system parameters, command line arguments, and input/output operations in Python.
20.

The threading module

2 Lessons

This chapter explores Python’s threading module, focusing on thread creation and practical applications such as concurrent file downloading.
21.

Working with Dates and Time

3 Lessons

In this chapter, you will learn to use Python’s `datetime` and `time` modules for date operations, formatting, and calculations.
22.

The xml module

6 Lessons

This chapter teaches you to use Python’s XML module, including `minidom` and `ElementTree`, for efficient XML creation, editing, and parsing.
23.

The Python Debugger

4 Lessons

Learn how to use the Python debugger to start sessions, step through code, and set breakpoints for efficient debugging.
24.

Decorators

5 Lessons

In this chapter, you will discover how Python decorators can refine function behavior, promote cleaner code, and simplify logging and attribute handling.
25.

The lambda

2 Lessons

This chapter teaches you about lambda functions in Python and demonstrates their use in managing events with Tkinter.
26.

Code Profiling

2 Lessons

Learn how code profiling in Python helps identify performance issues, enabling optimizations through tools like `cProfile` and `timeit` for enhanced efficiency.
27.

An Intro to Testing

4 Lessons

This chapter teaches you about Python’s testing tools, such as `doctest` and `unittest`, and their role in Test Driven Development for better coding practices.
28.

Installing Modules

5 Lessons

Learn how to install Python packages from source, use `pip` and `easy_install` methods for package installation, and manage dependencies effectively.
29.

ConfigObj

2 Lessons

This chapter teaches how ConfigObj improves Python configuration management by supporting nested sections, validation, and dictionary-like integration.
30.

Parsing XML with lxml

5 Lessons

In this chapter, you will discover how to use the lxml library for XML parsing and creation in Python, focusing on its features and applications.
31.

Python Code Analysis

3 Lessons

This chapter teaches you how pylint and pyflakes can be used for Python code analysis, highlighting their role in identifying errors and enhancing code quality.
32.

The requests package

2 Lessons

This chapter explores how the requests package simplifies HTTP requests in Python, offering an easy-to-use API for managing web form submissions.
33.

SQLAlchemy

6 Lessons

In this chapter, you will learn how SQLAlchemy, a Python ORM, simplifies database creation, data manipulation, and querying with its powerful features.
34.

virtualenv

2 Lessons

In this chapter, you will discover how Virtualenv creates isolated Python environments to manage dependencies and facilitate safe experimentation.
35.

Creating Modules and Packages

3 Lessons

This chapter teaches you how to develop Python modules and packages, highlighting their structure and usability for more organized and efficient programming.
36.

How to Add Your Code to PyPI

4 Lessons

In this chapter, you will discover how to prepare and upload Python packages to PyPI, with a focus on setup.py and necessary configurations.
37.

The Python egg

2 Lessons

This chapter covers Python eggs, a legacy distribution format, and their relevance in managing existing Python packages.
38.

Python wheels

3 Lessons

This chapter covers the Python wheel format for packaging, creation, and installation, highlighting its advantages for project management and testing.
39.

py2exe

4 Lessons

Learn how to use py2exe to convert Python applications into Windows executables, including GUI development, setup, and troubleshooting.
40.

bbfreeze

3 Lessons

This chapter explores bbfreeze, a tool for creating standalone binaries from Python scripts supported on xWindows and Linux platforms.
41.

cx_Freeze

3 Lessons

This chapter focuses on cx_Freeze, a tool for converting Python scripts into executables, covering installation, basic usage, and advanced setup techniques.
42.

PyInstaller

3 Lessons

In this chapter, you will learn how PyInstaller creates standalone executables from Python scripts, ensuring compatibility across various operating systems.
43.

Creating an Installer

3 Lessons

In this chapter, you will discover how to create an installer in Python using GUI2Exe and Inno Setup, focusing on executable generation and packaging.

Course Author

Trusted by 1.4 million developers working at companies

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Evan Dunbar

ML Engineer

Carlos Matias La Borde

Software Developer

Souvik Kundu

Front-end Developer

Vinay Krishnaiah

Software Developer

Eric Downs

Musician/Entrepeneur

Kenan Eyvazov

DevOps Engineer

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Hands-on Learning Powered by AI

See how Educative uses AI to make your learning more immersive than ever before.

Instant Code Feedback

Evaluate and debug your code with the click of a button. Get real-time feedback on test cases, including time and space complexity of your solutions.

AI-Powered Mock Interviews

Adaptive Learning

Explain with AI

AI Code Mentor