Knowing thousands of hot discussions: How to systematically teach yourself python?

This is a question I am concerned about in Zhihu, about how to systematically teach myself python? There are more than 11.03 million views in total.

share readers

I have been in the field of artificial intelligence for 15 years, and I have worked in algorithms for 6 years. I joined ByteDance as an algorithm engineer as a school recruiter and won the highest award within the company.

Tutored a number of students through interviews and worked for algorithm positions in companies such as Baidu, Ping An Technology, Xiaomi, and China Unicom. He has his own thinking and rich experience in career guidance and interview skills.

This article is mainly aimed at many friends who have changed careers who are considering whether to choose python, and how to systematically learn python by themselves, and give my suggestions. If there are any shortcomings, please leave a message in the comment area to exchange!

Why choose Python?

Why learn Python? Why not choose one of the other 20 languages ​​that are currently popular? When you start, there are many such questions.

Choosing your first programming language is like choosing your first Pikachu.

It doesn't matter what a language is, what matters is that programmers know how to do awesome things with that language.

If you don't want to learn Python, this article is not for you. When you have confidence in your decisions and focus on later studies, you will be more likely to succeed. It doesn't matter which language you choose, but once you've made your choice, stick to it.

The internet is full of rhetoric about comparing various languages ​​and frameworks, enough to create a choice barrier for any rational person.

I've seen junior to mid-level programmers claiming they know 3-4 languages. They tend to understand a variety of languages ​​in general, but can't write programs in any one language, which is the consequence of wanting to try everything without delving into one.

Python is a well-designed language, and there is a wealth of documentation and tutorials online. And it's also used in many fields, so no matter your level, there's a lot to learn. But the same is true for most of the other 20 languages.

Each language has its strengths and weaknesses and the use cases for which it is best suited. The 3 most common uses of Python are data processing, web application backend programs, and automation scripts. Based on the clarity and simplicity that its design fundamentals strive for, Python is arguably the best choice for beginners.

You can always hear the voice, "You made the wrong choice". Nine times out of 10 people who say these things are trying to sell you something or are insecure themselves.

How to learn Python?

Now that you've chosen Python, let's talk about how to learn it.

It's actually quite simple, pick a tutorial and go through it. Then learn another one, over and over again.

It's not enough to just study a book or a video lesson. It also requires constant exposure to code in incremental ways, which requires patience, perseverance, and dedication (amongst other great qualities)!

So I propose a basic learning process for beginners. As a human (the last time I tested, AI is not interested in learning python), your learning roadmap may vary, but just use it as a reference. Knowing when to move on to a higher level of study is very important, most people know it too late.

1. Basics - Think about how to automate those boring tasks in python. Try the official tutorial "The Python Tutorial/python.org". Learn to use the interactive learning tool python koans and the version management tool git.

2. Self-paced tutorials – Learn from RealPython.com articles and Corey Schafer’s instructional videos, read “The Hitchhiker’s Guide to Python”, and read as much as you can. Quantum Web Application Framework) official tutorial.

Python basics

If you need it, I can also share it, scan the QR code below to get it for free!

3. Documentation – Learn to use the Python library by reading the Python documentation, starting with the requests library. Start building your own program, any program will do, don't forget to refer to the article and video in step 2.

If you need it, I can also share it, scan the QR code below to get it for free!

4. Networking – Check out the videos of past Pycon tech conferences, they are very rich. Highly recommended books "Writing High Quality Python Code" (Effective Python) and "Powerful Python" and courses on Talk Python Training

5. Source Code – Browse the code of your favorite Python packages, now is a good time to get involved in the Python open source project.

You might prefer to take an edX course over reading a book, but it doesn't really matter which course you take, the whole learning process matters.

Build a solid foundation by reading books.

Follow the tutorials to accomplish a single task in Python, such as sending emails or reading and writing files, which will expose you to many useful Python packages and libraries.

Gradually get into the habit of reading documentation and building small applications using Python libraries.

Gain a deep understanding of the language and its tools to see what veterans in the field are doing.

Read the source code directly.

If you have tried all the resources in the image above, the links below have more useful information

When following any tutorial, remember to write code as an exercise, just reading code examples is not enough.

Learn general problem solving

Just like watercolor and oil painting are a little bit different, there are subtle differences between learning a language (framework/library) and learning to program.

Before you take a course like "full stack development for the web", please understand that it will not make you a good programmer, it will only teach you to use a specific process to solve a simple problem. (Indeed, most of the web applications built in these courses are straightforward.) Knowing how to build is good, but being able to design your own is even better. Be aware of programming constructs, design patterns, and algorithms, which are not unique to Python and are similar to all languages.

Stick with it, and you'll find the rules naturally.

find answers

If you get stuck (yes, maybe more than once), try to fix it before giving up. Most likely someone has faced the same problem before and posted a solution online, go search. Also, the Python community (a community of programmers all over the world using Python) is great, where you can always ask people for help. Also join the Python channel on Gitter.

Wow Python!

There is a lot to learn in Python. It can be used in many fields, don't skip the basics and go straight to a specific area of ​​expertise. For example, learning the scientific computing package PyTorch should be done after learning to package, and using Django should be done after using the virtual environment. In the long run, it pays to have a deep knowledge of Python. The use of a special library can reduce the time spent debugging a program.

How much time does it take to study?

9 lives.

Learning stuff takes time, and it takes a lot longer than most people tell you. You can't become an expert programmer in a few months. I suggest you focus on Python for at least a year first to avoid distractions during the year, but don't be afraid to learn other new things. Python is not the only knowledge required to be a well-rounded developer. Learning Git, Markdown, HTML is also good. In the process you may also revisit JS or statistics.

Learn continuously, not just once!

Understand the learning/build cycle

Any creative/research endeavor has two phases that are constantly repeated - learning and building.

During the learning phase, you should focus on accumulating knowledge. Read the book, complete each tutorial and familiarize yourself with what you already know.

During the build phase, you can create something new by applying the knowledge gained in the previous phase. Don't doubt your skills, don't believe the voices that say you can't, write your own application and go back and learn when you're done.

To balance these two phases, like a one to two month learning phase followed by a month building phase, most people are afraid to start the build phase.

Post promotion, learning exchange

We need a lot of front-end positions, python positions, Java positions, Android and iOS development positions, work location: Beijing Byte, welcome to leave a message in the comment area of ​​the school recruitment agency!

If you feel that your learning efficiency is low and you lack correct guidance, please leave a message in the comment area. I will invite you to join the CSDN official technical circle with rich resources and a strong learning atmosphere to learn and communicate together!

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326568190&siteId=291194637