Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/dr-saad-la/python-101

Python 101 Essential Training
https://github.com/dr-saad-la/python-101

Last synced: 7 days ago
JSON representation

Python 101 Essential Training

Awesome Lists containing this project

README

        

# Python-101 🐍

**Python-101** is a beginner-friendly project aimed at covering the essentials of Python programming. I have created this repository a series of repositories for teaching Python. I designed this repository to be as friendly as possible with the objective to help anyone who is new to programming or anyone else who just needs a refresher. This project covers the fundamental concepts that you need to get started with Python.

## Author
- :octocat: [Dr Saad Laouadi](https://github.com/dr-saad-la)
- βœ‰οΈ [[email protected]](mailto:[email protected])

## Table of Contents

- [Overview](#overview)
- [Getting Started](#getting-started)
- [Topics Covered](#contribution)
- [Pre-requisistes](#prerequisites)
- [License](#license)

## Overview

Python-101 provides a solid introduction to the core concepts of Python, focusing on:
- Variables
- Data Types
- Primitive data types
- Data structures
- Lists
- Tuples
- Dictionaries
- Sets
- Control Structures
- Loops
- Conditionals
- Functions
- Modules
- Object-Oriented Programming
- Basic File Handling
- Error Handling
- Essential Python libraries

This project is designed to provide hands-on examples and exercises for users to follow along and practice.

## Project Structure

This is the structure of the code-start directory:

```bash
code-start
β”œβ”€β”€ 01_hello
β”‚ β”œβ”€β”€ comments.py # Lesson on comments
β”‚ └── hello.py # First "Hello, World!" script
β”‚
β”œβ”€β”€ 02_variables
β”‚ β”œβ”€β”€ variables.py # Introduction to variables, types, and assignment
β”‚ └── constants.py # Explain constants (using naming conventions in Python)
β”‚
β”œβ”€β”€ 03_data_types
β”‚ β”œβ”€β”€ numbers.py # Working with numbers (int, float, complex)
β”‚ β”œβ”€β”€ strings.py # Working with strings, methods, and formatting
β”‚ └── booleans.py # Introduction to Boolean values and logic
β”‚
β”œβ”€β”€ 04_control_structures
β”‚ β”œβ”€β”€ if_else.py # Conditionals (if, else, elif)
β”‚ β”œβ”€β”€ loops.py # Loops (for, while, break, continue)
β”‚ └── nested_loops.py # Nested loops with examples
β”‚
β”œβ”€β”€ 05_functions
β”‚ β”œβ”€β”€ functions_intro.py # How to define and use functions
β”‚ β”œβ”€β”€ parameters.py # Parameters, default values, and return values
β”‚ └── recursion.py # An introduction to recursion (optional, for later stages)
β”‚
β”œβ”€β”€ 06_error_handling
β”‚ β”œβ”€β”€ exceptions.py # Introduction to exceptions and try-except blocks
β”‚ └── raise_assert.py # Raising exceptions and using assertions
β”‚
β”œβ”€β”€ 07_file_handling
β”‚ β”œβ”€β”€ reading_files.py # Reading from files
β”‚ β”œβ”€β”€ writing_files.py # Writing to files
β”‚ └── appending_files.py # Appending data to files
β”‚
└── 08_oop_basics
β”œβ”€β”€ oop_intro.py # Introduction to Object-Oriented Programming (classes, objects)
β”œβ”€β”€ inheritance.py # Inheritance, methods overriding, etc.
└── encapsulation.py # Encapsulation and data hiding
```

## Getting Started

1. **Clone the Repository**:
```bash
git clone https://github.com/your-username/python-101.git
```
2. Navigate to the Directory:
```bash
cd python-101
```
3. Run the Python Scripts: You can run any of the provided Python scripts as examples:
```bash
python example.py
```

## Contribution

Contributions to Python-101 are focused on adding examples and exercises to help users deepen their understanding of Python fundamentals.

How to Contribute

1. **Fork the Repository**: Click the β€œFork” button at the top right of this repository to create a copy in your own GitHub account.
2. **Clone the Forked Repository**: Clone your forked repository to your local machine:

```sh
git clone https://github.com/dr-saad-la/python-101.git
```

3. **Create a New Branch**: Always work on a new branch for your contributions:

```bash
git checkout -b add-exercise-branch
```
4. Add Your Examples or Exercises:
- Add your Python examples or exercises to the appropriate directory.
- Make sure your code is well-documented and includes comments where necessary.
5. **Commit Your Changes**: After making your changes, commit them:

```bash
git add .
git commit -m "Added new examples and exercises"
```

6. **Push to Your Fork**: Push the changes to your forked repository:

```sh
git push origin add-exercise-branch
```

7. Submit a Pull Request:
- Go to the original repository on GitHub and click β€œNew Pull Request”.
- Select your fork and branch, and submit the pull request with a description of your contribution.
- Once your pull request is reviewed, it may be merged into the main repository.

## Guidelines

- Focus on Python essentials (examples and exercises should align with the current topics).
- Follow best practices for Python code (PEP 8) and ensure readability with proper comments.
- Make sure to test your code before submitting.

## Prerequisites

- **Python**: Make sure Python is installed on your system. You can download it from the official [Python website](https://www.python.org/).
- **IDE**: You can use any Python-friendly text editor or Integrated Development Environment (IDE) like [VSCode](https://code.visualstudio.com/) or [PyCharm](https://www.jetbrains.com/pycharm/).

## License

This project is licensed under the **[MIT License](./LICENSE)**. See the LICENSE file for more details.