👋 Welcome to the thrilling journey to Python fluency!
Note
Initially this repository was supposed to be a Senior Developer Roadmap and had to include not only Python but DB, AWS, Linux and BE Frameworks. That was not the best approach to do and cover everything at once, so I decided to focus only on Python and during the process this book has been created! I worked on it alone, almost 1.5 years, and hope that you will like it. In the future I have plans to colaborate with a major UK publisher to create the second version of this book. If you could provide any feedback, this would be extremely valuable. Attaching PDF version for free to improve your learning experience!
My name is Yehor, and I'm the CTO and co-founder of Swetrix, a privacy-focused analytics platform. Additionally, I hold a Software Engineer position at a company based in Oxford, United Kingdom 🇬🇧.
After years of studying programming, I've reached a solid level of proficiency, mainly through reading books and exploring different courses.
I've found that many books in the programming world lack practical relevance and don’t give the knowledge to actually build real software. They're informative but don’t have interactivity and engagement with a learner at all.
That's why I am excited to introduce a revolutionary approach to education and interaction with books.
This isn't just another book to read. It's a comprehensive guide that will walk you through every step of your learning journey, providing interactive experiences and personalised support along the way.
In order to interact with me, you have 2 options:
- Open a PR and submit your homework/questions, and I will review it on Github directly.
- Join the Discord server where you can submit your H/W for my personal review through tickets instead, ask general questions about the topic you are struggling with, and integrate into our Python society to excel your knowledge and skills together.
In case you have any questions or would like to contact me directly, just do it!
Email: yehor.dremliuha@gmail.com
Options | Link |
---|---|
Buy a book on Amazon | Amazon |
Donate for businesses in Britain | Coffee |
Buy a subscription on Swetrix (best option) | Swetrix |
Put a star on this repo to show your support! | ⭐ |
Share this book to your friends and colleagues! | 📢 |
- 1. What is programming?
- 2. Overview of Python
- 3. Python installation
- 4. IDE Installation (VSCode)
- 5.
print()
- 6.
input()
- 7. Quiz: Introduction to Programming
- 8. Homework
- 1. (
int
andfloat
) - 2. Math operations
- 3. (
str
andbool
) - 4. Converting data types
- 5. Quiz
- 6. Homework
- 1. Relational Operators
- 2. Logical Operators (
if/elif/else
) - 3. Nested Logical Operators
- 4. Strings
- 5. Quiz
- 6. Homework
- 1. Strings in the PC memory (encodings, ascii/unicode),
ord()
,chr()
- 3. Slicing
- 4. Methods of Strings
- 5. Introduction to loops
- 6. Quiz
- 7. Homework
- 1 Mutable and Immutable data types
- 2. Introduction to
list
- 3. Functions (
len()
,sum()
,min()
,max()
,sorted()
) - 4. Methods of Lists
- 5. General methods of Iterations
- 6. Copying lists
- 8.
join()
andsplit()
- 9. Quiz
- 10. Homework
- Example
- 1. Introduction to Sets
- 2. Methods of
sets
- 3.
Set
Comprehensions - 4.
frozenset()
Overview - 5. Quiz
- 6. Homework
- Example
- 1. Introduction to Functions
- 2. Parameters and Arguments
- 3. Positional vs Key Arguments
- 4. Scopes
- 5. Return
- 6. Optional Parameters
- 7.
Args
andKwargs
- 8. Argument Ordering
- 9. Quiz
- 10. Homework
- 1 Introduction
- 2 The
try
&except
Block - 3 The
else
Block - 4 The
finally
Block - 5 Raising Exceptions
- 6 Exception Chaining
- 7. Quiz
- 8. Homework
- 1. Introduction
- 2. Creating a Module
- 3.
import
,from
, andas
- 4.
if __name__ == "__main__"
- 5. Packages
- 6.
venv
- 7.
requests
- 8.
Pillow
- 9. Choose your direction
- 10. Homework
- 1 What is a File?
- 2. Working with Files
- 3. Exception Handling
- 4 Full/Relative Paths
- 5. Context Manager
with
- 6 Working with Files of Different Formats
- 7. Quiz
- 8. Homework
- 1. Revision of Functions
- 2. Programming Principles(KIS, DRY, YAGNI)
- 3. Function pointers
- 4. Higher Order Functions
- 5. Closures
- 6. Decorators
- 7. Lambda Functions
- 8. Function Composition
- 9. Currying
- 10. Recursion
- 11. Function Memoization
- 12. Quiz
- 13. Homework
- 1. Intro to OOP
- 2. Class VS Instance Attributes and Methods
- 3. Class vs Instance methods + @staticmethod
- 4. Key Paradigms of OOP
- 5. Examples of good OOP designs
- 6. Quiz
- 7. Homework
- 1. Composition and Aggregation
- 2. Advanced Inheritance
- 3. Dunder (Magic) Methods in
Python
- 4. Enums
- 5. Quiz
- 6. Homework
- 0. Definition
- 1. Single Responsibility Principle (SRP)
- 2. Open/Closed Principle (OCP)
- 3. Liskov Substitution Principle (LSP)
- 4. Interface Segregation Principle (ISP)
- 5. Dependency Inversion Principle (
DIP
) - 6. Summarise
- 7. Let's Refactor!
- 8. Quiz
- 9. Homework
- 1. What is logging?
- 2. Python's Built-in Logging Module
- 3. Configuring Logging:
Handlers
,Formatters
, andConfig Files
- 4. Logging Best Practices
- 5. Homework
- 1. Why do we need testing?
- 2. Types of Testing
- 3. Introduction to
unittest
- 4. Introduction to
pytest
- 5. Mocking and Patching
- 6. Advanced Techniques
- 7. Coverage Analysis
- 8. Applying Testing
- 9. Homework
- 1. Iterators
- 2. Building Your Own Iterators
- 3. Performance overview
- 4. Generators
- 5. Generators VS Lists
- 6. Best practices
- 7. Quiz
- 8. Homework
- 1. The Importance of Refactoring and Code Review
- 2. Principles of Good Refactoring
- 3. Code reviews
- 4. Application Development Life Cycle
- 5. Homework
- 1. Introduction
- 2. Code Comments and Docstrings
- 3. Annotations
- 4. External Documentation
- Introduction
- Installation
- Usage
- Contributing
- License
- Credits
- 5. Homework
- 1. Regular Expressions
- 2. Basic Patterns
- 3. Character Classes
- 4. Quantifiers
- 5. Anchors and Boundaries
- 6. Grouping and Capturing
- 7. Practice
- 8. Homework
- 1. What are Algorithms?
- 2. Algorithmic Complexity (Big O Notation)
- 3. Sorting Algorithms
- 4. Searching Algorithms
- 5. Dynamic Algorithms
- 1. Introduction to Threads
- 2. Threading
- 3. Global Interpreter Lock (GIL)
- 4. Thread Communication
- 5. Daemon Threads
- 6. Thread Pooling
- 7. More Practice
- 8. Quiz
- 9. Homework