2020 year 11 month TIOBE The ranking has surpassed Java, For the first time in history Python Beyond Java, Let a lot of friends to Python There was interest , Today, let's sort out the study Python Several stages or levels , Hope to help you as you continue to evolve
This article stems from a question from Zhihu : How to teach yourself python, About how long ?, At that time, I made an answer , This time it's all over again , The full text is as follows :
I read a lot of the answers in the answer area , I feel very professional and detailed , How long do you think you have to answer , Need to answer first What is the goal of learning This problem , The goal here is divided into introduction 、 Advanced 、 There are four parts to explain
introduction : Just understand
Python It's already the most popular language , Especially in the case of data analysis and machine learning ,Python Also by the favor of children's programming , So many students are for various reasons , Just need to know
So we need to understand Python Environment building , To understand the basics of an operating system is just , For example, environment variables 、 Command line tools, etc Then install Python, And it can be executed on the command line to enter Python, Perform simple operations

next , In the document file , write in print(Hello World), preservation , perform

This can be regarded as an introduction , The whole process took less than an hour
For beginners , The command line is recommended , Many adult teachers recommend Anaconda,PyCharm And other integrated development tools , Although powerful , Beautiful interface , Not too much information , For example, it's easy to distract , And don't use Python Understanding of the environment

Advanced : complete Simple task
To do simple tasks or write scripts , For example, deal with Excel、Word、 Data in text , Do some file processing , Write a small program for self entertainment ( Non wechat \ Alipay \ Headlines and other small programs ) etc.
Just understand the basics Python grammar , For example, variable definition , Infrastructure , Judgment statement , Loop statement , Method definition, etc
In addition, learn about the related software package , such as OpenPyXl ( May refer to 《Excel Artifact —— OpenPyXl》) Used for processing Excel
Python-docx( May refer to 《Word Artifact python-docx》), Used for processing Word
Python Built-in module os, Used to process file systems ,Pygame Simple game pack ( May refer to 《 Be a hard core Dad , I use Python》), For some fun games , wait
This stage , Just keep practicing , About a month , You'll be able to use it skillfully , Make what you want , Improve work efficiency
I have a communication equipment engineer in my company , For the convenience of debugging the host , Start learning Python, Less than a year , Not only solve the problems in the work , Got a prize , And it became a department Python Experts , Often instruct others to learn Python

senior : Building application systems
If you want more people to use their own programs , Not just for yourself , You need to build a system or application .
Web System
Need to learn Flask( You can refer to 《Web Development Flask Introduce 》) perhaps Django etc. Web frame
what's more , Need to understand the basic knowledge of the network , Such as Http, domain name , Cloud server, etc
Database processing and other related knowledge , Such as Sql sentence ,Mysql database , perhaps Sqlite Database etc.
Safety related knowledge , Such as Session,token,OAuth Authentication mechanism ( You can refer to 《OAuth2.0 brief introduction 》) etc.
Knowledge or skills related to service deployment , Make your own programs available to more people through the Internet ( May refer to 《 Deploy Flask application 》)
Desktop application
For example Windows, perhaps Linux Next application , Need to know about the operating system
And learn wxpython、PythonWin、PyGTK、PyQt Wait for the package , image wxpython Have a strong and rich skill , And support cross platform desktop applications , Make your program more adaptable to the environment
Windows Next application , May refer to 《 Bus alarm clock —— No more waiting for the bus in vain 》, It describes how to build a Windows Timing task , And will be Python The program is packaged into Executable file The way
If you want to achieve the goal of building a system , except Python In addition to the learning of the language itself and related software packages , It's more about learning the Internet 、 operating system 、 Programming idea 、 Knowledge of design patterns, etc
If it's learning from scratch , It will take at least half a year to make it , If you want to reach mastery , And in commercial projects , It may take one to two years

thorough : Data analysis and machine learning
python It's almost a universal language , Especially in data analysis and machine learning , Because it writes less code , The idea of doing more , It's very popular with data scientists .
If the goal is to do data analysis , First of all, we need to understand the idea and process of data analysis
And then you need to learn , Data collection 、 Data collation 、 Knowledge of data or visualization :
- Data collection It's basically what we call reptiles , Get the data to be analyzed from the network , Related frameworks or software packages include Scrapy,Selenium,Requests etc.
- Data collation It is to clean up the data to be analyzed 、 decompose 、 classified 、 Switching, etc , The common bags are Numpy、Pandas etc. , Can handle tasks in an extremely efficient way , For example, I wrote an article 《 Get rid of the formula ——Numpy It's time to learn 》, From another aspect, it introduces Numpy A powerful
- Data visualization Only when it can be perceived intuitively , In order to give full play to the value of data , Through the bar chart 、 Pie chart 、 Radar map 、 Scatter plot and other intuitive and effective images , Present the data intuitively , Data analysis is essential , Related frameworks and software packages are matplotlib、pyecharts、Dexplot etc. , I wrote an article about Flask and pyecharts The combined documents can refer to 《Python Flask Data visualization 》
If your goal is to do data analysis , Learn from the beginning , Keep practicing , Three months , You can do the basic work , It's a job to do data analysis , No problem , If you want to go deep into , Data analysis 、 Even machine learning related principles and algorithms , And it can be used freely , It's hard to do it without three or five years

ultimate : Become an expert
Become an expert in any field , There's a law of consensus : 10000 hour law , Want to become Python Experts are no exception
python The reason why it has become the preferred programming language in many fields , Is not Python Is at the heart of many fields , It is Python It can be used as an idea and implementation tool to deal with problems
So more and more learners want to Python As a tool for learning and working , Improve the efficiency of solving problems in a certain field , therefore , If the goal is to become an expert , You can choose one first Python Where you can get applications , For example, system building 、 Data analysis 、 machine learning 、 Video games and so on
And then by deepening in this field , send Python Skills are maximized in this field , It could be a shortcut to becoming an expert
If you ask how long it will take , It can only be said that it depends on nature .

ultimate
summary
Whatever your goal is , They are inseparable from continuous learning and practice
Learning is divided into three stages , The first stage is to learn , To learn and learn is to know ; The second stage is teaching , Follow the teacher or the textbook ; The third stage is to practice , This is the most important stage , You need to practice more
I hope this essay will enlighten your learning journey , May you achieve your goal soon .
Be careful : If you're looking for python Well paid jobs . I suggest you write more about real enterprise projects and accumulate experience . Or you won't find a job , Of course, a lot of people have never been in a business , How can there be project experience ? So you have to find more enterprise projects and practice more . If you're lazy and don't want to find , You can also enter my Python Circle of communication :1156465813. There are some real enterprise project cases that I have written before in the group file . You can take it to study , If you don't understand, you can find me in your skirt , I'll answer you patiently when I have time .
The following is useless , For this blog to be crawled by search engines
(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)
python What is it Zero basis to learn python How long will it take? python Why is it called a reptile
python Novice reptile tutorial python Crawler universal code python How do reptiles make money
python Basic course Web crawler python python Classic examples of reptiles
python Reptiles
(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)
The above is useless , For this blog to be crawled by search engines