# Content

{% hint style="success" %}

#### Introduction to python

In this section, you will get an introductory overview of Python, highlighting its key features, applications, and importance, aimed at giving readers a foundational understanding of the language.
{% endhint %}

✅ [Introduction to python](/introduction-to-python.md)

* [Installation](/introduction-to-python/python-installation.md)
* [Variables](/introduction-to-python/variables.md)
* [Python Data Types](/introduction-to-python/python-data-types.md)
* [Python Data Structures](/introduction-to-python/python-data-structures.md)
* [Python numbers](/introduction-to-python/python-numbers.md)
* [Python strings](/introduction-to-python/python-strings.md)
* [Python Boolean](/introduction-to-python/python-boolean.md)
* [Python constants](/introduction-to-python/python-constants.md)
* [Comments](/introduction-to-python/python-comments.md)
* [Type Conversion](/introduction-to-python/type-conversion.md)
* [Control flow in python](/introduction-to-python/control-flow-in-python.md)

{% hint style="success" %}

#### Working with functions

In this section, you will get a concise overview of Python functions, explaining their purpose, syntax, usage, and features, serving as a quick reference for understanding and utilising functions in Python programming.
{% endhint %}

✅ [Working with Functions](/python-functions.md)

* [Function Definition](/python-functions/function-definition.md)
* [Function Parameter](/python-functions/function-parameter.md)
* [Recursive Functions](/python-functions/recursive-functions.md)
* [Using Global Variables in Functions](/python-functions/using-global-variables-in-functions.md)
* [Lambda Functions](/python-functions/lambda-functions.md)

{% hint style="success" %}

#### Python Data Structures

In this section, you will get an overview of data structures, their importance in computer science, and specifically discuss the built-in data structures available in Python.
{% endhint %}

✅ [Python Data Structures](/what-are-data-structures.md)

* [Lists](/what-are-data-structures/python-lists.md)
* [Tuples](/what-are-data-structures/python-tuples.md)
* [Dictionaries](/what-are-data-structures/python-dictionaries.md)
* [Sets](/what-are-data-structures/python-sets.md)
* [What is an Iterable?](/what-are-data-structures/iterable-in-python.md)
* [Map, Filter, Reduce Functions](/what-are-data-structures/python-map-filter-and-reduce-functions.md)

{% hint style="success" %}

#### Error Handling

The purpose of this section is to provide an explanation and examples of error handling in Python, highlighting its importance and demonstrating various techniques to catch and handle exceptions in Python programs.
{% endhint %}

✅ [Error Handling](/error-handling-in-python.md)

{% hint style="success" %}

#### Loop...else, partial functions & working with type hints

The purpose of this section is to explain the usage and behaviour of the loop...else clause in Python, providing examples and highlighting its significance in different types of loops (for and while) for better understanding by readers.
{% endhint %}

✅ [Loop...else, Partial Functions & Working with Type Hints](/loop-...-else-clause-partial-functions-and-type-hints.md)

* [Loop...else](/loop-...-else-clause-partial-functions-and-type-hints.md)
* [Partial Functions](/loop-...-else-clause-partial-functions-and-type-hints/partial-functions.md)
* [Type Hints](/loop-...-else-clause-partial-functions-and-type-hints/type-hints.md)

{% hint style="success" %}

#### Python modules

The purpose of this section is to provide a step-by-step guide on how to use and import functions from Python modules, highlighting the benefits of organising and reusing code through modularisation.
{% endhint %}

✅ [Python Modules](/python-modules.md)

{% hint style="success" %}

#### Python libraries & packages

The purpose of this section is to provide an overview of Python libraries and packages, explain how to work with them, and highlight their importance in reusing code and expanding the functionality of Python programs.
{% endhint %}

✅ [Python Libraries & Packages](/python-libraries-and-packages.md)

* [Python Libraries](/python-libraries-and-packages.md)
* [Python Packages](/python-libraries-and-packages/python-packages.md)

{% hint style="success" %}

#### Python Directory & IO

The purpose of this section is to provide a concise overview of using the os module in Python for common directory-related tasks, such as creating directories, changing the current working directory, listing directory contents, and checking if a path is a directory.
{% endhint %}

✅ [Python Directory & IO](/directory-and-io.md)

* [Python Directory](/directory-and-io.md)
* [Python IO](/directory-and-io/python-io-module.md)

{% hint style="success" %}

#### Managing Multiple Python Versions

The purpose of this section is to provide a step-by-step guide on how to install and use pyenv to manage multiple versions of Python on various operating systems.
{% endhint %}

✅ [Using Multiple Python Versions](/pyenv.md)

{% hint style="success" %}

#### Using virtual environments

The purpose of this section is to provide a concise explanation of what a virtual environment is and its significance in Python development.
{% endhint %}

✅ [Using virtual environments](/virtual-environments/virtualenv.md)

* [Pipenv](/virtual-environments/pipenv.md)
* [virtualenv](/virtual-environments/virtualenv.md)

{% hint style="success" %}

#### Using virtual environments

The purpose of this section is to provide an overview of object-oriented programming in Python, explaining the concepts and syntax involved, and highlighting the benefits and importance of using object-oriented programming in Python development.
{% endhint %}

✅ [Object-Oriented Python](/object-oriented-programming-in-python.md)

* [Class](/object-oriented-programming-in-python/class.md)
* [Class Methods](/object-oriented-programming-in-python/class-methods.md)
* [Inheritance](/object-oriented-programming-in-python/python-class-inheritance.md)
* [Polymorphism](/object-oriented-programming-in-python/python-class-polymorphism.md)
* [Special Methods](/object-oriented-programming-in-python/python-special-methods.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://pythonforstarters.solomonmarvel.com/content.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
