Code Monkey home page Code Monkey logo

python_practice's Introduction

My Python Learning Adventure

Introduction

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.

Background

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.

Goals

  1. Master Python Basics: Starting with the essentials and gradually progressing to more complex topics.
  2. Project-Based Learning: Implementing concepts in practical, real-world applications.
  3. Guide-Driven Approach: Following the structured path provided by the Programming QuickStart Guides Bundle.
  4. AI Teaching Assist: Using the Custom 'Code Tutor' in ChatGPT4 Khanmigo Lite, by Khan Academy as a guide.
  5. Share My Experience: Regularly updating this repository with progress, insights, and reflections.

Progress Log

Start Date: [1.12.2024]

  • Initial Steps: Getting accustomed to Python syntax and basic constructs.
  • First Milestones: Completing introductory exercises from the guide.

Ongoing Updates

[1.13.2024]- 'FizzBuzz'

  • 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.

[1.14.2024] - 'rng (Random Number Generator)'

  • 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.

[1.16.2024] - 'Coin Flip Simulation'

  • 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.

[1.22.2024] - 'Temperature Converter (Python GUI)'

  • 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.

[1.26.2024] - 'Dice Roll'

  • Developed a command-line interface (CLI) application to simulate dice rolls.
  • Enhanced understanding of Python's random module for generating random outcomes and the argparse 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.

[1.31.2024] - 'My Selfmade Exercises'

  • 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.

Projects

Project 1: TBD (A simple Python project)
Project 2: TBD (A more complex application)
Further projects will be added as I progress.

Resources

[1]

Programming QuickStart Guides Bundle by Robert Oliver - My primary learning resource.

[2]

Python.org - Official Python documentation and tutorials.

[3] - Other Resources

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

python_practice's People

Contributors

chee86j avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.