The Python Tutorial — Python 3.13.2 documentation
The Python Tutorial — Python 3.13.2 documentation
2 documentation
The Python interpreter and the extensive standard library are freely available in source or binary form for all major
platforms from the Python web site, https://www.python.org/, and may be freely distributed. The same site also
contains distributions of and pointers to many free third party Python modules, programs and tools, and addi‐
tional documentation.
The Python interpreter is easily extended with new functions and data types implemented in C or C++ (or other
languages callable from C). Python is also suitable as an extension language for customizable applications.
This tutorial introduces the reader informally to the basic concepts and features of the Python language and sys‐
tem. It helps to have a Python interpreter handy for hands-on experience, but all examples are self-contained, so
the tutorial can be read off-line as well.
For a description of standard objects and modules, see The Python Standard Library. The Python Language
Reference gives a more formal definition of the language. To write extensions in C or C++, read Extending and
Embedding the Python Interpreter and Python/C API Reference Manual. There are also several books covering
Python in depth.
This tutorial does not attempt to be comprehensive and cover every single feature, or even every commonly used
feature. Instead, it introduces many of Python’s most noteworthy features, and will give you a good idea of the
language’s flavor and style. After reading it, you will be able to read and write Python modules and programs, and
you will be ready to learn more about the various Python library modules described in The Python Standard
Library.
https://docs.python.org/3.13/tutorial/index.html 1/4
2/14/25, 7:31 AM The Python Tutorial — Python 3.13.2 documentation
3.1.3. Lists
3.2. First Steps Towards Programming
4. More Control Flow Tools
4.1. if Statements
4.2. for Statements
4.3. The range() Function
4.4. break and continue Statements
4.5. else Clauses on Loops
4.6. pass Statements
4.7. match Statements
4.8. Defining Functions
4.9. More on Defining Functions
4.9.1. Default Argument Values
4.9.2. Keyword Arguments
4.9.3. Special parameters
4.9.3.1. Positional-or-Keyword Arguments
4.9.3.2. Positional-Only Parameters
4.9.3.3. Keyword-Only Arguments
4.9.3.4. Function Examples
4.9.3.5. Recap
4.9.4. Arbitrary Argument Lists
4.9.5. Unpacking Argument Lists
4.9.6. Lambda Expressions
4.9.7. Documentation Strings
4.9.8. Function Annotations
4.10. Intermezzo: Coding Style
5. Data Structures
5.1. More on Lists
5.1.1. Using Lists as Stacks
5.1.2. Using Lists as Queues
5.1.3. List Comprehensions
5.1.4. Nested List Comprehensions
5.2. The del statement
5.3. Tuples and Sequences
5.4. Sets
5.5. Dictionaries
5.6. Looping Techniques
5.7. More on Conditions
5.8. Comparing Sequences and Other Types
6. Modules
6.1. More on Modules
6.1.1. Executing modules as scripts
6.1.2. The Module Search Path
https://docs.python.org/3.13/tutorial/index.html 2/4
2/14/25, 7:31 AM The Python Tutorial — Python 3.13.2 documentation
https://docs.python.org/3.13/tutorial/index.html 3/4
2/14/25, 7:31 AM The Python Tutorial — Python 3.13.2 documentation
9.9. Generators
9.10. Generator Expressions
10. Brief Tour of the Standard Library
10.1. Operating System Interface
10.2. File Wildcards
10.3. Command Line Arguments
10.4. Error Output Redirection and Program Termination
10.5. String Pattern Matching
10.6. Mathematics
10.7. Internet Access
10.8. Dates and Times
10.9. Data Compression
10.10. Performance Measurement
10.11. Quality Control
10.12. Batteries Included
11. Brief Tour of the Standard Library — Part II
11.1. Output Formatting
11.2. Templating
11.3. Working with Binary Data Record Layouts
11.4. Multi-threading
11.5. Logging
11.6. Weak References
11.7. Tools for Working with Lists
11.8. Decimal Floating-Point Arithmetic
12. Virtual Environments and Packages
12.1. Introduction
12.2. Creating Virtual Environments
12.3. Managing Packages with pip
13. What Now?
14. Interactive Input Editing and History Substitution
14.1. Tab Completion and History Editing
14.2. Alternatives to the Interactive Interpreter
15. Floating-Point Arithmetic: Issues and Limitations
15.1. Representation Error
16. Appendix
16.1. Interactive Mode
16.1.1. Error Handling
16.1.2. Executable Python Scripts
16.1.3. The Interactive Startup File
16.1.4. The Customization Modules
https://docs.python.org/3.13/tutorial/index.html 4/4