How to learn Python when changing careers with zero foundation? You must understand these!

Recently, many friends have asked me, if I change careers and learn Python, can I learn it with zero basic knowledge? How difficult is Python? Today I will answer these questions from my friends

Is it difficult to learn Python?

First, let’s popularize the basic knowledge of programming languages. The purpose of developing programs in any programming language is to let the computer do things, such as downloading an MP3, writing a document, etc. The CPU that does the computer work only understands machine instructions. Therefore, although different programming languages ​​are very different, in the end they all It has to be "translated" into machine instructions that the CPU can execute. Different programming languages ​​have great differences in the amount of code written to do the same job.

For example, to complete the same task, you need to write 1,000 lines of code in C language, only 100 lines of code in Java, and only 20 lines in Python.

So Python is a fairly high-level language.

Are lower-level programs more difficult to learn, while higher-level programs are easier?

On the surface, yes.

However, in very high abstraction computing, advanced Python programming is also very difficult to learn, so high-level programming languages ​​do not mean simplicity.

However, Python language is very simple and easy to use for beginners and to complete common tasks.
Insert image description here

Is it okay if I have zero basic knowledge of Python?

I favor Python as an introductory language:

1. The syntax is simple and clear. The first language is actually syntax + flow control, and Python has simple syntax, high code readability, and is easy to get started.

2. The philosophy of Python is that "there should be only one best way to do something", which is very helpful for beginners to standardize their own learning, and it also helps beginners to understand other people's codes.

3. Develop good habits. Python has strict requirements for code, especially indentation, which is very helpful for beginners to develop good coding habits.

4. Python's syntax design is very excellent, and its thinking is relatively modern. You can understand some ideas of modern programming languages ​​faster.

5. Python is still a traditional Class-based OO, like Java, C#, and Ruby, and is relatively popular. It is also more appropriate to learn Design Pattern from Python.

6. Python’s built-in data structure is clear and easy to use, and there are many excellent codes.

7. There are many free books on Python (in English), and you can find a lot of information to read. At the same time, the (overseas) community is relatively concentrated, and if you have any questions, you can ask the experts.

8. Python is widely used in other fields, such as scientific computing, etc. Python is very suitable as a tool for learning a language.
Insert image description here

How to learn Python?

1. Choose a good direction

The purpose of learning Python is not to understand the language, but to learn to use this language to solve problems.

But the application direction of Python is really too broad. After learning the basics of Python, if the application direction is different, the things to learn will be very different.

I can’t say that I want to do web development, learn the basics of Python, and then go learn numpy, pandas and other knowledge; nor can I say that I want to use Python for data analysis, learn the basics of Python, and then go Learn django and flask frameworks.
Insert image description here
This principle is as simple as if we want to travel to Thailand, we will definitely not buy a ticket to Japan. But we have to admit that there will still be people who get confused and start doing it right away.

I learned Python because I gradually learned at work that Python basically covers every link in the process of "data acquisition → data processing → data analysis → data visualization" in terms of data analysis. It is a powerful tool for data analysis. There is no one else who has a coquettish operation.

2. Plan a good path

After I have determined the direction, the next step is to follow this direction and build my own learning path map.

This path is a systematic logical main line. This main line will let me know what goals each part needs to complete, what knowledge points need to be learned, and what knowledge is temporarily unnecessary. Then every time I learn a part, I can have some actual results output, and use the results output to form positive stimulation and encourage subsequent learning.

Moreover, if we are in the workplace, most of the time we do not have a large amount of time to focus on learning. Our study time is divided into fragmented times. In fragmented time, systematic learning of a piece of knowledge requires a systematic logical thread that runs through the front and back to connect all related fragmented time learning.

When I decided to learn Python's data analysis knowledge, I followed the data analysis process of "data acquisition → data processing → data analysis → data visualization" and established a learning map for myself:

A. Basic knowledge of Python

B. Basic knowledge of crawlers + sql

C. . . (Choose according to your own needs)

3. Establish awareness of basic concepts

Python is the first programming language I learned. When I started learning Python, I was a novice who didn’t even know what a string was. So for me, the most important thing to start with is to first build awareness of the basic concepts in this field!

In fact, for people who have absolutely no foundation in a field and want to start learning it, the really important thing is to first establish an understanding of the basic concepts of the field.

For example, when I see a sentence in a tutorial that says "assign a value to a variable", then I must at least know what a variable is? What does assignment mean?

I don’t know why many people don’t care about such an important beginning. I don’t know whether it’s because everyone is so talented and they feel disdainful to mention this basic step, or because many people have forgotten the pain and struggle along the way from Xiaobai. People will tamper with their memories and think that what they have now is easily obtained, but the real experience is always ups and downs.

So a typical common problem with some online tutorials is that the instructor uses a concept that we don’t understand to explain another concept that we don’t understand, and then we still don’t understand. Because the teachers have preset our position as a zero foundation in advance: we already have the foundation of other programming languages, but we have not been exposed to Python.

But in fact, for novices like me who have zero foundation, most of the time, Python is the first programming language we learn. So at this time, for us, learning Python is not only learning the language itself, but also using this language to help us build an understanding of some basic concepts in the programming world.

After I entered the door, I just followed the learning path established in the second step, leveling up and killing monsters all the way. After all, my journey is to the stars and the sea!

4. Final issues that need attention during study

⑴. Never get entangled in underlying principles and minutiae at the beginning.

This pit is the deepest pit that has trapped me.

For example, when I learned functions, I only needed to learn the basics of how to define functions and how to call functions at the beginning. I didn’t need to delve into the rules of passing function parameters at the beginning. What is value passing? Or pass by reference.

It’s not that this low-level knowledge is not important. At least when getting started, we don’t have to go into this level as soon as we get started. Because the learning of knowledge is a linear sequence, from diving into depth. If we just grab the eyebrows and beards from the beginning, regardless of priority, we may soon realize what it feels like to "go from getting started to giving up".

And in our subsequent learning process, we are "understanding deeply through application, and optimizing application through in-depth understanding." Mutual confirmation and understanding is a natural and in-depth learning process.

⑵. It is best to study according to systematic courses or books

Since you are a novice in this field, it is the most suitable solution to first accept an existing system and then modify it. As a novice, based on my experience, I think the best teacher is a systematic course or book.

Articles or posts on the Internet are actually very unsuitable as teaching materials for us to systematically learn a certain knowledge, because it is very fragmented knowledge, with a hammer here and a stick here and there, and it is not systematic. Don't expect to be able to integrate scattered information into a system, that is what experts have to do. However, these things can be used as a reference for us to check for omissions and fill in some details.

⑶. The guiding principle is to use it to solve problems.

At work, what is needed is more of an engineering thinking to solve problems, so many times, we can solve problems by outsourcing, so there is no need to reinvent the wheel ourselves.

For example, if the boss wants to go to the airport, then as long as I can drive, I can drive the boss to the destination. There is no need for me to study how to make wheels, how to make engines, and how to make batteries. . . . . .

Of course, if we have enough energy to learn and can go in depth, we will definitely do better than bad. But again, at the beginning, don’t scratch your eyebrows and beard.

⑷. Nothing awesome can be achieved quickly. This is true for skills with lower level and longer revenue cycle.

"The road is very barren, but people who like it will eventually go astray." We always realize after stepping on countless pitfalls: shortcuts are often the longest detours. Learning knowledge in a field is not difficult for ordinary people to get started from 0 to 1 in a short period of time, but from 1 to 10, to 100, to advance to a master without long-term investment and deliberate practice. It's nothing more than a fool's dream.

That’s it, I hope you can gain something.

Finally, as an IT person, I have compiled some learning materials myself, I hope it will be helpful to you.

If you need it, friends can scan the CSDN official certification QR code below on WeChat to get it for free [100% free guaranteed].
Exchange questions and help each other. There are good learning tutorials and development tools here.
(Python part-time resources + Python full set of learning materials)

1. Learning routes in all directions of Python

The technical points in all directions of Python have been compiled to form a summary of knowledge points in various fields. Its usefulness is that you can find corresponding learning resources according to the above knowledge points to ensure that you learn more comprehensively.
Insert image description here

2. Essential development tools for Python

Insert image description here

3. Python video collection

Watch zero-based learning videos. Watching videos is the fastest and most effective way to learn. It is easy to get started by following the teacher's ideas in the video, from basic to in-depth.
Insert image description here

4. Practical cases

Optical theory is useless. You must learn to follow along and practice it in order to apply what you have learned to practice. At this time, you can learn from some practical cases.
Insert image description here

5. Python exercises

Check learning results.
Insert image description here

6. Interview materials

We must learn Python to find a high-paying job. The following interview questions are the latest interview materials from first-tier Internet companies such as Alibaba, Tencent, Byte, etc., and Alibaba bosses have given authoritative answers. After reviewing this set of interview materials, I believe everyone can find a satisfactory job.
Insert image description here
Insert image description here
Finally, never let down the passion you had at that time, and become stronger and better together.

Guess you like

Origin blog.csdn.net/WANGJUNAIJIAO/article/details/128262863#comments_24523348