A structured and practical collection of Python fundamentals and core concepts, created as part of my journey toward professional backend development.
This repository focuses on understanding Python through practical examples, organized code, and backend-oriented use cases.
This repository covers Python from fundamental syntax and data structures to more advanced concepts such as object-oriented programming, decorators, type hints, testing, and dependency management.
The goal is not only to learn Python syntax, but also to build a strong foundation for working with frameworks such as Django and Django REST Framework.
- Variables
- Data Types
- Input and Output
- Type Conversion
- Python Fundamentals
- Arithmetic Operators
- Comparison Operators
- Logical Operators
- Assignment Operators
- Operator Precedence
ifelifelse- Nested Conditions
- Conditional Expressions
match/case
forwhilerange()breakcontinuepass- Nested Loops
- Loop Patterns
- Lists
- Tuples
- Sets
- Dictionaries
- Nested Data Structures
- Comprehensions
- Function Definition
- Parameters and Arguments
- Return Values
- Default Arguments
- Keyword Arguments
*args**kwargs- Lambda Functions
- Function Comprehensions
- String Indexing
- Slicing
- String Methods
- Searching
- Replacing
- Splitting and Joining
- String Formatting
- f-Strings
- Exceptions
tryexceptelsefinallyraise- Custom Exceptions
- Exception Hierarchies
- Classes and Objects
- Attributes and Methods
- Encapsulation
- Inheritance
- Polymorphism
- Abstraction
- Abstract Base Classes
- Magic Methods
- Modules
- Imports
- Packages
__init__.py- Standard Library
- Absolute and Relative Imports
- Package Structure
- Reading Files
- Writing Files
- CSV Files
- JSON Files
- File Paths
pathlib- File System Operations
datetimedatetimetimedelta- Timezones
ZoneInfo- Date Formatting
- Date Parsing
- ISO 8601
- Iterable Objects
- Iterators
iter()next()StopIteration- Generator Functions
yield- Generator Expressions
- Lazy Evaluation
- Functions as Objects
- Nested Functions
- Closures
- Function Wrappers
- Decorators
functools.wraps- Authentication Decorators
- Permission Decorators
- Logging
- Caching
- Retry Patterns
- Variable Annotations
- Function Type Hints
OptionalUnionLiteralTypedDictCallableIterableIteratorTypeVarGenericProtocolTypeAliasNewTypeFinalClassVarSelfParamSpecoverload- Type-Safe Decorators
unittestpytest- Test Cases
- Assertions
- Fixtures
- Parametrization
- Mocking
monkeypatch- Temporary Files
- Test Discovery
- Unit Testing Practices
- Virtual Environments
venvpip- Package Installation
- Package Versions
requirements.txt- Dependency Management
- Reproducible Environments
python-fundamentals/
│
├── 01-basics/
├── 02-operators/
├── 03-conditionals/
├── 04-loops/
├── 05-data-structures/
├── 06-functions/
├── 07-strings/
├── 08-error-handling/
├── 11-oop/
├── 12-modules-and-packages/
├── 13-file-handling/
├── 14-dates-and-times/
├── 15-iterators-and-generators/
├── 16-decorators/
├── 17-type-hints/
├── 18-testing/
└── 19-environment-and-dependencies/
Each directory contains focused Python examples demonstrating the corresponding concepts.
Learning Approach
The examples in this repository focus on:
- Understanding concepts through code
- Writing readable Python
- Using practical examples
- Applying Python concepts to backend development
- Understanding common Python patterns
- Building a foundation for Django development
- Writing testable and maintainable code
The examples are intentionally organized from simpler concepts toward more advanced Python features.
Related Coursework
This repository complements my formal Python coursework and certifications.
Harvard CS50P
Completed CS50's Introduction to Programming with Python by Harvard University.
The course provided a structured introduction to programming with Python, while this repository serves as a personal reference and practical implementation of Python concepts.
Next Step
After completing these Python fundamentals, the next stage of my learning path is focused on backend development with Django and Django REST Framework.
Planned technologies include:
- Django
- Django REST Framework
- PostgreSQL
- Redis
- Celery
- Docker
- Linux
- REST APIs
- Testing
- Deployment
Goal
The purpose of this repository is to build a strong and practical Python foundation that can be applied to real-world software engineering and backend development.