Master Python in One Month: A Comprehensive Guide

Selected from Medium

Author:Jhankar Mahbub

Translated by Machine Heart

Contributors: Wang Zijia, Geek AI

Undoubtedly, Python is one of the most popular programming languages today.For many beginners who have never ventured into computer programming, mastering Python deeply seems like a daunting task.However, with a scientific learning method and a reasonable study plan, it is possible to go from beginner to proficient in Python in just one month!

Master Python in One Month: A Comprehensive Guide

Keep in mind that one month is a significant amount of time.If you dedicate 6-7 hours a day to one task, you will achieve unexpected results.As a beginner, your monthly goals should be as follows:

  • Familiarize yourself with basic concepts (variables, conditions, lists, loops, functions)

  • Practice over 30 programming problems

  • Complete two projects using these concepts

  • Get acquainted with at least 2 frameworks

  • Start using Integrated Development Environments (IDEs), GitHub, hosting, services, etc.

Overall PlanNow, let’s break down the monthly plan into weekly plans.

Master Python in One Month: A Comprehensive Guide

Week 1:Familiarize Yourself with PythonBe proactive in exploring how to use Python and complete as many of the following tasks as possible:

  • Day 1:Basic Concepts (4 hours):print, variables, input, conditional statements

  • Day 2:Basic Concepts (5 hours):lists, for loops, while loops, functions, importing modules

  • Day 3:Simple Programming Problems (5 hours):swap two variable values, convert Celsius to Fahrenheit, calculate the sum of digits in a number, check if a number is prime, generate random numbers, remove duplicates from a list, etc.

  • Day 4:Intermediate Programming Problems (6 hours):reverse a string (palindrome check), calculate the greatest common divisor, merge two sorted arrays, number guessing game, calculate age, etc.

  • Day 5:Data Structures (6 hours):stacks, queues, dictionaries, tuples, trees, linked lists.

  • Day 6:Object-Oriented Programming (OOP) (6 hours):objects, classes, methods and constructors, inheritance in OOP

  • Day 7:Algorithms (6 hours):searching (linear and binary search), sorting (bubble sort, selection sort), recursive functions (factorial, Fibonacci sequence), time complexity (linear, quadratic, and constant)

Don’t rush to install the Python environment!This may seem contradictory, but you must believe me.I have friends who gradually lost their desire to learn due to failed installations of language toolkits and IDEs.Therefore, my advice is to first explore the language using some Android apps, such as Programming Hero (https://play.google.com/store/apps/details?id=com.learnprogramming.codecamp) or online coding playgrounds like Repl (https://repl.it/), etc.If you are a technical novice, installing the Python environment should not be your top priority.Week 2:Start Software Development (Build Projects)Next, let’s move towards software development tasks!Try to integrate the knowledge you’ve learned to complete a practical project:

  • Day 1:Familiarize yourself with an IDE (5 hours):An IDE is your operating environment when writing large projects, so you need to master one IDE.In the early stages of software development, I recommend installing the Python extension in VS Code or using Jupyter Notebook.

  • Day 2:GitHub (6 hours):Explore GitHub and create a code repository.Try committing, viewing changes, and pushing your code.Additionally, learn how to work with branches, merge different branches, and create pull requests in a project.

  • Day 3:First Project – Simple Calculator (4 hours):Familiarize yourself with Tkinter and create a simple calculator

  • Days 4, 5, 6:Personal Project (5 hours each day):Choose a project and complete it.If you don’t know what to do, you can check the list below (https://www.quora.com/what-some-good-python-projects-for-an-middle-programmer/answer/jhankar-mahbub2)

  • Day 7:Host Project (5 hours):Learn to use servers and hosting services to host your project.Create a Heroku setup and deploy the application you built.

Why write projects?If you merely follow along with what you learn in class or videos, you won’t develop independent thinking skills.Therefore, you must apply your knowledge to a project.As you strive to find answers, you are also gradually learning this knowledge.

Week 3:Become a Programmer

The goal of Week 3 is to familiarize yourself with the overall process of software development.You don’t need to master all the knowledge, but you should know some basics, as they will affect your daily work.

  • Day 1:Database Basics (6 hours):Basic SQL queries (create tables, select, where queries, update), SQL functions (Avg, Max, Count), relational databases (normalization), inner joins, outer joins, etc.

  • Day 2:Using Python with Databases (5 hours):Utilize a database framework (SQLite or pandas), connect to a database, create and insert data into multiple tables, and read data from tables.

  • Day 3:APIs (5 hours):How to call APIs.Learn about JSON, microservices, and REST APIs.

  • Day 4:Numpy (4 hours):Familiarize yourself with Numpy (https://towardsdatascience.com/lets-talk-about-numpy-for-datasciences-beginners-b8088722309f) and practice the first 30 Numpy exercises (https://github.com/rougier/numpy-100/blob/master/100_numpy_excercises.md)

  • Days 5, 6:Portfolio Website (5 hours each day):Learn Django and use it to build a portfolio website (https://realpython.com/get-start-with-django-1/), and also get acquainted with the Flask framework.

  • Day 7:Unit Testing, Logging, Debugging (5 hours):Learn unit testing (PyTest), how to set up and view logs, and use breakpoint debugging.

Truth Time (Confidential)If you are very “crazy” and extremely focused, you can complete these tasks in one month.You must do the following:

  • Make learning Python your full-time activity.You need to start learning from 8 AM until 5 PM.During this time, you can have a lunch break and a tea break (total of 1 hour).

  • At 8 AM, list what you want to learn today, and spend an hour reviewing and practicing what you learned yesterday.

  • From 9 AM to 12 PM:Start learning and do some practice.After lunch, you need to increase your practice; if you get stuck on a problem, you can search for solutions online.

  • Strictly maintain 4-5 hours of study time and 2-3 hours of practice time each day (you can take a maximum of one day off per week).

  • Your friends may think you are crazy.Follow your own path and let others talk!

If you have a full-time job or are a student, completing these processes may take longer.As a full-time student, I took 8 months to complete this checklist.Now I am a senior developer.My wife works at a major bank in the United States.She took 6 months to complete the tasks mentioned in this article.So, no matter how long it takes, make sure to complete them.

Master Python in One Month: A Comprehensive Guide

Week 4:Seriously Consider Job (Internship) IssuesThe goal of Week 4 is to seriously think about how to get hired.Even if you don’t want to find a job right now, you can learn a lot while exploring this path.

  • Day 1:Prepare Resume (5 hours):Create a one-page resume.Summarize your skills at the top, and make sure to include a GitHub link when writing about projects.

  • Day 2:Portfolio Website (6 hours):Write a few blogs and add them to the portfolio website you developed earlier.

  • Day 3:LinkedIn Profile (4 hours):Create a LinkedIn profile and put all the content from your resume on LinkedIn.

  • Day 4:Interview Preparation (7 hours):Prepare for common Google interview questions and practice 10 programming problems from white papers.Check previous interview questions on sites like Glassdoor and Careercup.

  • Day 5:Networking (~hours):Get out, start attending meetups, job fairs, and meet other developers and recruiters.

  • Day 6:Job Applications (~hours):Search for “Python Job”, check LinkedIn Jobs and local job sites.Select 3 job positions and send job applications.Customize your resume for each job.Identify 2 to 3 things you don’t know from each job requirement and learn them in the next 3-4 days.

  • Day 7:Learn from Rejections (~hours):Each time you are rejected, find two things you should have known to get that job, and spend 4-5 days mastering them.This way, each rejection will make you a better developer.

Preparing for WorkThe reality is that you can never be 100% prepared for a job.What you need to do is master one or two things and be familiar with others, ultimately passing the interview.Once you start working, you will learn a lot on the job.Enjoy the Learning ProcessLearning is a process, and there will always be challenges.Hard work pays off; the more effort you put in, the better developer you will become.If you can complete all the tasks in 28 days, you are a genius.However, if you can complete 60-70% of the content, you have already begun to develop the right traits to become a programmer.Original link:https://medium.com/@jhankar.mahbub/learn-and-master-python-in-a-month-b1acc94d5f32This article is translated by Machine Heart, please contact this public account for authorization to reprint✄————————————————Join Machine Heart (Full-time Reporter / Intern): [email protected]Submissions or inquiries: content@jiqizhixin.comAdvertising & Business Cooperation: [email protected]

Leave a Comment