How to learn python based on the 0 basis? These must be understood!

Source: Internet
Author: User

Career change 0 is it difficult to develop a basic Python program? Where do you learn to start? Recently many small partners asked me, if I switch to learn python, a complete 0 basis can learn it? How hard is python going to be? Today, the small series to explain the problem in detail for you.

Is it difficult to learn python?

First, we popularize the basics of programming languages. In any programming language to develop the program, all in order to let the computer work, such as downloading a MP3, writing a document, and so on, while the computer working CPU only know the machine instructions, so, although different programming languages vary greatly, finally have to "translate" the CPU can execute machine instructions. and different programming languages, the same work, the amount of code written, the gap is also very large.

For example, to complete the same task, C language to write 1000 lines of code, Java only need to write 100 lines, and Python may be as long as 20 lines.

So Python is a fairly advanced language.

is the lower-level program more difficult to learn, the more advanced the simpler the program?

On the surface, yes.

However, in very high abstract calculations, advanced Python programming is also very difficult to learn, so the high-level programming language is not equal to simple.

However, the Python language is very easy to use for beginners and to accomplish common tasks.

Do I have 0 basic python?

I'm in favor of Python as an introductory language:

1. The grammar is simple and clear. The first language, in fact, is the syntax +flow control, and Python's syntax is simple, the code is very readable, easy to get started.

2, the philosophy of Python is "to do one thing should have only one of the best method", for beginners to standardize their own learning has a great help, but also help beginners can read other people's code.

3, develop a good habit. Python's rigorous code requirements, especially indentation (indentation), are helpful for beginners to develop good code habits.

4, Python's grammar design is very good, the thought is also more modern, can quickly understand some modern programming language's thought.

5, Python is still the traditional class-based Oo, and Java, C #, Ruby, compared to the public. It's also more appropriate to learn design pattern from Python.

6, Python's built-in data structure is clear and easy to use, excellent code a lot.

7, Python a lot of free books (English), you can find a lot of information to chew. At the same time (foreign) community relatively concentrated, there are problems can be asked to the master.

8, Python in other areas, such as scientific computing and so on have a wide range of applications, for learning a language as a tool, Python is very suitable.

How to learn python?

1, choose a good direction

I want to learn python not to understand the language, but to learn to use the language to solve the problem.

But Python's application direction is too wide. After the basic knowledge of Python has been learned, the things to learn will vary greatly if the application direction is different.

I can't say I want to do web development, learn the basics of Python, run to learn numpy, pandas and other knowledge; I can't say I want to do data analysis with Python, learn the basics of Python, and then run to learn Django, flask framework.

This is just as easy as we want to travel to Thailand and certainly not buy a ticket to Japan. But we have to admit, there will be a person confused, to open up to dry.

I learn python, because in the work of slowly understand Python in the data analysis, the basic covers the "Data acquisition → data processing ¡ú analysis → data visualization" in the process of each link, is a tool for data analysis, saying that this coquettish operation, but also no one.

2. Planning the Path

When I have a good direction, the next step is to set up my own learning path map in this direction.

This path is a systematic logical thread that will let me know what goals each part needs to accomplish, what knowledge points to learn, and what knowledge is temporarily unnecessary. Then every learning part, I can have some actual output, use the output to form positive stimulation, stimulate the follow-up learning.

Moreover, if we are in the workplace, most of the time we do not have a big chunk of the period to concentrate on learning. Our learning time is divided in some fragmented time. In the fragmented time, the systematic learning of a knowledge, it is necessary to have a cross-cutting, systematic logic of the main line, to concatenate all the relevant fragmented time of learning.

When I am sure to learn Python's data analysis knowledge, according to the data analysis process "Data acquisition → data processing → analysis → data visualization" This path, to establish a learning map for themselves:

A. Basic knowledge of Python

B, Reptile basic knowledge +sql

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

3. Building awareness of basic concepts

Python was the first programming language I learned, and when I started to learn python, it was a little white that didn't even know what a string was. So for me, the most important thing to start with is to first build a sense of the basic concepts in this field!

In fact, for a person who is completely 0 based in a field and wants to start learning it, the real important task is to build awareness of the basic concepts of this field.

For example, I see in the tutorial that there is a phrase "assign a variable", then I have to know at least what is a variable? What does it mean to assign a value?

Do not know why such an important beginning, many people do not care, do not know that everyone is gifted, feel disdain to mention the basic steps, or a lot of people have forgotten from the small white road came over the pain and struggle. People will tamper with memory, will think now have is easy to get, but the real experience is always bumpy twists and turns.

So the typical common problem of some tutorials on the internet is that the teaching scholars use a concept we don't understand to explain another concept that we don't understand, and then we still don't understand. Because the learners pre-preset our position as a 0 basis: There are already other programming language foundations, but no contact with Python.

But in fact, for the same 0-based small white as I am, most of the time, Python is the first programming language we learn. So this time, for us, learning Python is not only learning the language itself, but also helping us to establish some basic concepts of the programming world through this language.

When I entered the door, is to follow in the second step to establish the learning path, all the way to upgrade play strange, after all, my journey is the star of the sea!

4, the last study needs to pay attention to the question

⑴, in the beginning not to fall into the underlying principle and the minutiae of entanglement

This pit is the deepest pit that puts me in the pit.

For example, when I learned the function, I just had to learn how to define a function at the beginning, and how to invoke the basic knowledge of a function without having to go deep into the study of the transfer rules of the function parameters in the first instance, whether it is a value pass or a reference pass.

Not that the underlying knowledge is unimportant, at least when it comes to getting started, we don't have to go deep into this level. Because knowledge of learning is a linear, deep order from the dive. If at first, cram, without distinction, perhaps we will soon realize that "from the beginning to give up" is a kind of feeling.

And we are in the subsequent learning process, it is in the "use of in-depth understanding, in-depth understanding of the optimization of applications." Mutual proof of understanding, is a natural in-depth learning process.

⑵, preferably according to a systematic course or book to learn

Since in this field is a novice, first accept an existing system, and then modify the above modification, is the most suitable solution. As a novice, according to my experience, I think the best teacher is a system of courses or books.

Online articles or posts, in fact, is very inappropriate to serve as our systematic learning a knowledge of the teaching material, because it is very fragmented knowledge, East a hammer West a stick, fragmentation system. Do not expect to be able to put scattered information synthesis system, that is the master to do things. But these things can be used as a reference to some of the details of our leak-check.

⑶, to be able to use, solve problems as the guiding principle

In the work, need more is a problem-solving engineering thinking, so many times, we can be switched to solve problems, there is no need to build wheels.

For example, boss to go to the airport, I just can drive, drive the boss to the destination on the line, and do not need me to study how to build a wheel, how to build an engine, how to build a battery ...

Of course, if we learn to be able to go deep, it must be not bad. But still that sentence, at the beginning, not cram.

⑷, there is no big thing is able to crash, the lower the bottom, the longer the return cycle of the skills more so.

"The road is very Yi, but the person good path, finally is mistaken". We always step on the countless pits, only to realize that the shortest way is often the longest detour. Learning a field of knowledge, for ordinary people in a short period of time from 0 to 1 into a door, it is not difficult, but from 1 to 10, to 100, advanced as a master, no long-time investment and deliberate practice, is tantamount to wishful dream.

This is the above, I hope you can gain something.

I have a public number, and I often share some of the stuff about Python technology. If you like my share, you can use the search "Python language learning" to follow

Welcome to join thousands of people to exchange questions and answers skirt: 699+749+852

How to learn python based on the 0 basis? These must be understood!

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.