My Python Learning Adventure
Hello and welcome to my GitHub repository dedicated to learning Python! I'm currently expanding my programming expertise from JavaScript to Python, and this repository is where I'll be documenting my journey. I've chosen to follow the Programming QuickStart Guides Bundle as my primary learning resource.
As a JavaScript developer, I've decided to challenge myself by diving into Python. This journey isn't just about learning a new language; it's about opening up new opportunities and perspectives in the world of programming.
- Master Python Basics: Starting with the essentials and gradually progressing to more complex topics.
- Project-Based Learning: Implementing concepts in practical, real-world applications.
- Guide-Driven Approach: Following the structured path provided by the Programming QuickStart Guides Bundle.
- AI Teaching Assist: Using the Custom 'Code Tutor' in ChatGPT4 Khanmigo Lite, by Khan Academy as a guide.
- Share My Experience: Regularly updating this repository with progress, insights, and reflections.
- Initial Steps: Getting accustomed to Python syntax and basic constructs.
- First Milestones: Completing introductory exercises from the guide.
- Implemented the 'FizzBuzz' exercise, focusing on Python's syntax differences from JavaScript, especially in loops and conditional statements.
- Explored Python-specific features like list comprehensions and inline conditional expressions, applying them to solve the FizzBuzz problem efficiently.
- Developed a CLI tool in Python to generate random numbers, enhancing understanding of command-line arguments handling with the
sys
module. - Delved into error handling in Python, learning to validate and process user input effectively.
- Gained experience with Python's
random
module for generating random numbers within user-defined ranges.
- Created a simple coin flip simulation program.
- Practiced using Python's random module to simulate random outcomes.
- Reinforced my understanding of basic Python programming concepts and syntax.
- Developed a GUI-based temperature conversion application using PySide6.
- Gained practical experience in GUI programming, exploring Python's capabilities beyond the console.
- Familiarized myself with event-driven programming, signal-slot mechanisms, and layout management in PySide6.
- Developed a command-line interface (CLI) application to simulate dice rolls.
- Enhanced understanding of Python's
random
module for generating random outcomes and theargparse
module for handling command-line arguments. - Implemented complex logic for computing statistics such as minimum, maximum, mean, median, mode, and doubles count, using concepts like list comprehensions and the Counter class.
- Gained practical experience in handling dynamic input and producing statistical output.
- Embarked on creating custom exercises based on the chapters in QuickStart Guide to deepen my understanding.
- Learned about Python's built-in unittest framework and the popular pytest for testing.
- Embraced Test-Driven Development (TDD) techniques, enhancing my coding discipline and efficiency.
- Compared Python's pytest with JavaScript's testing frameworks like Jasmine and Mocha. Found pytest to be powerful for its simplicity in syntax and rich in features like detailed assert failure reports, making debugging more intuitive.
- Gained insights on how Python's testing frameworks differ from JavaScript's, particularly in how they handle test setups, teardowns, and assertions. pytest stood out for its ease in writing and reading tests, aligning well with Python's philosophy of simplicity and readability.
Future updates and learning milestones will be added here.
Project 1: TBD (A simple Python project)
Project 2: TBD (A more complex application)
Further projects will be added as I progress.
Programming QuickStart Guides Bundle by Robert Oliver - My primary learning resource.
Python.org - Official Python documentation and tutorials.
1. Python Tutorial - Python Full Course for Beginners - Programming with Mosh -
https://www.youtube.com/watch?v=_uQrJ0TkZlc
2. freeCodeCamp.org - Learn Python - Full Course for Beginners [Tutorial] -
https://www.youtube.com/watch?v=rfscVS0vtbw