Python from beginner to master: one month is enough
編輯:Python
without doubt ,Python It's one of the hottest programming languages of the moment . For many fields that have never been involved in computer programming 「 The small white 」 Come on , To master in depth Python It seems to be a very difficult thing . Actually , As long as we master scientific learning methods and make a reasonable learning plan ,Python from It only takes a month to get started and master !
Need to know , A month is a long time . If you use it every day 6-7 Do one thing in an hour , You will have unexpected gains .
As a beginner , The first month's goal should be :
Familiar with basic concepts ( Variable , Conditions , list , loop , function )
Practice over 30 A programming problem
Use these concepts to complete two projects
Be familiar with at least 2 A frame
Start using the integrated development environment (IDE),Github,hosting,services etc.
Overall plan
Now? , Let's first break down the monthly plan into a weekly plan .
The first week : be familiar with Python
Actively explore Python How to use , Complete as many of the following tasks as possible :
The first day : Basic concepts (4 Hours ):print, Variable , Input , Conditional statements
the second day : Basic concepts (5 Hours ): list ,for loop ,while loop , function , The import module
On the third day : Simple programming problems (5 Hours ): Exchange the values of two variables , Convert Celsius to Fahrenheit , Find the sum of the digits in the number , To determine whether a number is a prime number , Generate random number , Delete duplicates from the list, etc
The fourth day : Intermediate programming problems (6 Hours ): Invert a string ( Palindrome detection ), Calculate the greatest common divisor , Merge two ordered arrays , Guess the number game , Calculate the age and so on
Fifth day : data structure (6 Hours ): Stack , queue , Dictionaries , Tuples , Trees , Linked list .
Sixth days : object-oriented programming (OOP)(6 Hours ): object , class , Methods and constructors , Inheritance of object-oriented programming
Seventh days : Algorithm (6 Hours ): Search for ( Linear and binary search )、 Sort ( Bubble sort 、 Selection sort )、 Recursive function ( Factorial 、 Fibonacci sequence )、 Time complexity ( linear 、 Quadratic and constant )
Don't rush to install Python Environmental Science !
It seems contradictory , But you have to believe me . I have a few friends , They are because of language kits and IDE Installation failure and gradually lost the desire to learn . therefore , My suggestion is to use some Android first app To explore the language , Like programming heroes ( https://play.google.com/store/apps/details?id=com.learnprogramming.codecamp) Or online code amusement park Repl(https://repl.it/) wait . If you are a technical white , install Python Environment is not your first priority .
In the second week of : Start software development ( Build the project )
Next , Let's march towards the task of software development ! Try to integrate what you have learned to complete a practical project :
The first day : Be familiar with one IDE(5 Hours ): IDE It's the operating environment in which you write large projects , So you need to master a IDE. In the early days of software development , I suggest that you VS code Install in Python To extend or use Jupyter notebook.
the second day :Github(6 Hours ): Explore Github, And create a code warehouse . Try to submit (Commit)、 View changes (Diff) And push up (Push) Your code . in addition , And learn how to use branch work , How to merge (merge) Different branches and how to create pull requests in a project (pull request).
On the third day : First project —— Simple calculator (4 Hours ): be familiar with Tkinter, Create a simple calculator
Fourth 、 5、 ... and 、 Six days : Personal projects ( Every day 5 Hours ): Choose a project and finish it . If you don't know what you should do , Check out the list below (https://www.quora.com/what-some-good pythonprojects -for-an- middle - programmer/answer/jhankar - mahbub2)
Seventh days : hosting project (5 Hours ): Learn to use servers and hosting Services to host your project . Create a Heroku Set up and deploy the application you build .
Why write projects ?
If we only learn the content in class or video step by step , You can't think on your own . therefore , You have to apply your knowledge to a project . When you try to find out , You are also learning these knowledge slowly .
The third week : Make yourself a programmer
The first 3 Week's goal is to be familiar with the overall process of software development . You don't need to have all the knowledge , But you should know some common sense , Because they affect your daily work .
The first day : Database foundation (6 Hours ): basic SQL Inquire about ( Create table 、 choice 、Where Inquire about 、 to update )、SQL function (Avg、Max、Count)、 relational database ( Normalization )、 Internal connection 、 External connection, etc
the second day : Use Python database (5 Hours ): Using a database framework (SQLite or panda), Connect to a database , Create and insert data in multiple tables , Then read the data from the table .
On the third day :API(5 Hours ): How to call API. Study JSON、 Microservices (micro-service) And presentation layer application transformation application interface (Rest API).
The fourth day :Numpy(4 Hours ): be familiar with Numpy(https://towardsdatascience.com/lets-talk-about- Numpy -for- datascies-beginners-b8088722309f) And before practice 30 individual Numpy exercises (https://github.com/rougier/numpy- 100/blob/master/100_numpy_excercises.md)
The fifth 、 Six days : Works collection website ( One day 5 Hours ): Study Django, Use Django Build a works collection website (https://realpython.com/get- start-with-django -1/), We also need to understand Flask frame .
Seventh days : unit testing 、 journal 、 debugging (5 Hours ): Learning unit tests (PyTest), How to set up and view logs , And debugging with breakpoints .
Tell me the time ( Top secret )
If you are very 「 insane 」, And very focused , You can finish these tasks in a month . You have to :
Study Python As your full-time activity . You need to 8 Start to learn , Until the afternoon 5 spot . in the meantime , You can have a lunch break and a tea break ( common 1 Hours ).
8 Make a list of what you are going to learn today , Then take an hour to review and practice what you learned yesterday .
from 9 Point to 12 spot : Begin to learn , And do a little practice . After lunch , You need to practice more , If you get stuck on a problem , Search for solutions online .
Keep it strict every day 4-5 Hours of study time and 2-3 Hours of practice time ( A maximum of one day off per week ).
Your friends may think you are crazy . Go your own way , Let others talk !
If you have a full-time job , Or you are a student , It may take longer to complete these processes . As a full-time student , I spent it. 8 Months to complete this list . Now I'm a senior developer . My wife works in a big bank in America . She spent 6 Months to complete the tasks mentioned in this article . therefore , No matter how long it takes , Be sure to finish them .
The fourth week : Think hard about work ( Internship ) problem
The first 4 Zhou's goal is to seriously think about how to be hired . Even if you don't want to find a job right now , You can also learn a lot from exploring this path .
The first day : Prepare your resume (5 Hours ): Make a one page resume . Put your skill summary at the top , Must be accompanied by Github link .
the second day : Works collection website (6 Hours ): Write a few blogs , Add them to your previous collection site .
On the third day :LinkedIn brief introduction (4 Hours ): Create a LinkedIn Personal profile , Put everything on your resume in LinkedIn On .
The fourth day : Interview preparation (7 Hours ): Prepare some common interview questions from Google , Practice... In the white paper 10 An interview programming question . stay Glassdoor、Careercup Wait for the website to see the interview questions of the predecessors .
Fifth day : social contact (~ Hours ): Get out of the door , Start going to the party 、 Job fair , Meet with other developers and recruiters .
Sixth days : Job application (~ Hours ): Search for 「Python Job」, see LinkedIn Job And local job sites . choice 3 Jobs and send job applications . Customize your resume for each job . Find... In each job request 2 To 3 Something you don't know , And in the next 3-4 Learn them in the sky .
Seventh days : Learn from rejection (~ Hours ): Every time you get rejected , Find two things you should know in order to get the job , And then flowers 4-5 God Time to master them . such , Every rejection will make you a better developer .
Prepare for work
The reality is that , You can never be 100% ready for work . All you have to do is master one or two things , And familiar with other things , Finally passed the interview . Once you start working , You will learn a lot in the process of work .
Enjoy the learning process
Learning is a process , There will be challenges as long as we study . God helps those who help themselves , The harder you work , The better the developer .
If you could be there 28 Complete all tasks in days , You are a genius . However , If you can finish 60-70% The content of , You start to have the right characteristics to be a programmer .
About Python Technology reserve
Learn from good examples Python Whether it's employment or sideline, it's good to make money , But learn to Python Still have a learning plan . Finally, let's share a complete set of Python Learning materials , For those who want to learn Python Let's have a little help !
One 、Python Learning routes in all directions
Python The technical points in all directions are sorted out , Form a summary of knowledge points in various fields , The use of it is , You can find the corresponding learning resources according to the above knowledge points , Make sure you learn more comprehensively .
Two 、Python Essential development tools
3、 ... and 、 The high-quality goods Python Learning books
When I learn a certain foundation , When you have your own understanding , I will read some books compiled by my predecessors or handwritten notes , These notes detail their understanding of some technical points , These understandings are quite original , You can learn different ideas .
Four 、Python Video collection
Watch the zero basics learning video , Watching video learning is the quickest and most effective way , Follow the teacher's ideas in the video , From foundation to depth , It's still easy to get started .
5、 ... and 、 Practical cases
Optical theory is useless , Learn to knock together , Do it , Can you apply what you have learned to practice , At this time, we can make some practical cases to learn .
6、 ... and 、Python Exercises
Check the learning results .
7、 ... and 、 Interview information
We learn Python Must be to find a well paid job , The following interview questions are from Ali 、 tencent 、 The latest interview materials of big Internet companies such as byte , And the leader Ali gave an authoritative answer , After brushing this set of interview materials, I believe everyone can find a satisfactory job .
This full version of Python A full set of learning materials has been uploaded CSDN, Friends can scan the bottom of wechat if necessary CSDN The official two-dimensional code is free 【 Guarantee 100% free 】
Python Information 、 technology 、 Course 、 answer 、 For consultation, you can also directly click on the business card below , Add official customer service Qi ↓