Skip to content

Dulon18/Python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

30-Day Python Learning Plan

A structured roadmap to learn Python from scratch in 30 days.

Week 1: Python Fundamentals

Day 1: Setup & Basics

  • Install Python and set up your development environment (VS Code/PyCharm)
  • Learn about variables, data types (int, float, string, boolean)
  • Practice: Write a program that calculates your age in days

Day 2: Operators & Input/Output

  • Arithmetic, comparison, and logical operators
  • Taking user input with input()
  • Practice: Build a simple calculator

Day 3: Strings

  • String methods and operations
  • String formatting (f-strings, format())
  • Practice: Create a text manipulation tool

Day 4: Lists & Tuples

  • Creating and manipulating lists
  • List methods (append, remove, sort, etc.)
  • Understanding tuples and their immutability
  • Practice: Build a to-do list program

Day 5: Dictionaries & Sets

  • Working with key-value pairs
  • Dictionary methods
  • Set operations and use cases
  • Practice: Create a phone book application

Day 6: Conditional Statements

  • if, elif, else statements
  • Nested conditions
  • Ternary operators
  • Practice: Build a grade calculator

Day 7: Review & Mini Project

  • Review Week 1 concepts
  • Project: Number guessing game with multiple features

Week 2: Control Flow & Functions

Day 8: Loops - Part 1

  • for loops and range()
  • Iterating through lists and dictionaries
  • Practice: Print patterns using nested loops

Day 9: Loops - Part 2

  • while loops
  • break, continue, and pass statements
  • Loop control techniques
  • Practice: Build a menu-driven program

Day 10: Functions - Basics

  • Defining and calling functions
  • Parameters and arguments
  • Return statements
  • Practice: Create utility functions (e.g., temperature converter)

Day 11: Functions - Advanced

  • Default parameters and keyword arguments
  • *args and **kwargs
  • Lambda functions
  • Practice: Build a collection of mathematical functions

Day 12: Scope & Recursion

  • Local vs global variables
  • Understanding recursion
  • Practice: Implement factorial and Fibonacci using recursion

Day 13: Error Handling

  • try, except, finally blocks
  • Handling specific exceptions
  • Raising custom exceptions
  • Practice: Add error handling to previous projects

Day 14: Review & Mini Project

  • Review Week 2 concepts
  • Project: Simple banking system with functions and error handling

Week 3: Intermediate Concepts

Day 15: List Comprehensions

  • Basic list comprehensions
  • Conditional list comprehensions
  • Dictionary and set comprehensions
  • Practice: Refactor loops into comprehensions

Day 16: Modules & Packages

  • Importing built-in modules (math, random, datetime)
  • Creating your own modules
  • Understanding name == "main"
  • Practice: Organize previous code into modules

Day 17: Object-Oriented Programming - Part 1

  • Classes and objects
  • Attributes and methods
  • The init constructor
  • Practice: Create a Student class with properties

Day 18: Object-Oriented Programming - Part 2

  • Inheritance and polymorphism
  • Encapsulation and private attributes
  • Class methods and static methods
  • Practice: Build a simple game with multiple classes

Day 19: Working with Libraries

  • Installing packages with pip
  • Introduction to requests (API calls)
  • Introduction to pandas (data manipulation)
  • Practice: Fetch data from a public API

Day 20: File Handling

  • Reading and writing text files
  • Working with CSV files
  • File modes and context managers
  • Practice: Create a note-taking app that saves to files

Day 21: Review & Mini Project

  • Review Week 3 concepts
  • Project: Contact management system with file persistence and OOP

Week 4: Advanced Topics & Projects

Day 22: Regular Expressions

  • Pattern matching basics
  • Common regex patterns
  • re module functions
  • Practice: Build an email/phone validator

Day 23: Decorators & Generators

  • Understanding decorators
  • Creating generator functions
  • yield vs return
  • Practice: Create timing decorators for functions

Day 24: Data Structures

  • Stacks and queues
  • Working with collections module
  • Understanding time complexity basics
  • Practice: Implement a stack-based calculator

Day 25: Working with JSON

  • Reading and writing JSON files
  • Converting between Python objects and JSON
  • Working with APIs
  • Practice: Build a weather app using a weather API

Day 26: Testing

  • Writing unit tests with unittest
  • Test-driven development basics
  • Debugging techniques
  • Practice: Write tests for previous projects

Day 27: Virtual Environments & Best Practices

  • Creating virtual environments
  • requirements.txt
  • PEP 8 style guide
  • Code documentation
  • Practice: Organize a project with proper structure

Day 28-30: Final Project

Choose one project to build:

  • Web Scraper: Scrape data from websites using BeautifulSoup
  • CLI Application: Build a command-line task manager or expense tracker
  • Data Analysis: Analyze a dataset using pandas and create visualizations
  • Automation Script: Automate a repetitive task (file organization, email sending)
  • Simple Web App: Create a basic Flask/FastAPI application

Resources

Free Learning Platforms

  • Python.org official documentation
  • Real Python tutorials
  • W3Schools Python
  • freeCodeCamp Python course

Practice Platforms

  • LeetCode (Easy problems)
  • HackerRank Python track
  • Codewars
  • Exercism

Books (Optional)

  • "Python Crash Course" by Eric Matthes
  • "Automate the Boring Stuff with Python" by Al Sweigart

Tips for Success

  1. Code every day: Consistency is more important than duration
  2. Type code yourself: Don't just copy-paste, type it out
  3. Build projects: Apply what you learn immediately
  4. Debug actively: Don't fear errors, learn from them
  5. Join communities: Reddit (r/learnpython), Discord servers, Stack Overflow
  6. Review regularly: Spend 10 minutes reviewing previous concepts
  7. Take breaks: Your brain needs rest to consolidate learning

Progress Tracking

  • Week 1: Fundamentals
  • Week 2: Control Flow & Functions
  • Week 3: Intermediate Concepts
  • Week 4: Advanced Topics & Final Project

Remember: Everyone learns at their own pace. If you need more time on certain topics, that's perfectly fine. The goal is understanding, not speed.

Good luck on your Python journey! 🐍

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages