As a more than Hunan's fire python net red, 0 basic how to start the system to learn it?

Source: Internet
Author: User
Tags garbage collection shallow copy

Python (pronunciation: English [? Pa?θ?n], beauty [? Pa?θɑ:n]), is an object-oriented, literal translation of computer programming language, but also a powerful general-purpose language, has nearly 20 years of development history, mature and stable. It contains a comprehensive set of standard libraries that are easy to understand and can easily accomplish many common tasks. Its syntax is very simple and clear, unlike most other programming languages, it uses indentation to define the statement.

Python supports imperative programming, object-oriented programming, functional programming, slice-oriented programming, generic programming, and many programming paradigms. Like scheme, Ruby, Perl, Tcl and other dynamic languages, Python has garbage collection and can automatically manage storage usage. It is often used as a scripting language to handle system administration tasks and network programming, but it is also well suited to perform high-level tasks. The Python virtual machine itself can run on almost all operating systems. Using tools such as Py2exe, PyPy, Pyinstaller, you can convert Python source code into a program that can run out of the Python interpreter.

Python is easy to get started with, and people with basic programming experience in other languages can learn the basics of Python within 1 weeks.

They include:

1. Usage of common built-in types (int, float, boo, bytes, str, list, dict, set)

2, Branch If-else Loop while iteration for syntax

3. def definition function, calling function

You can spend another 1 weeks studying:

1. Class

2. Abnormal

At this point, some people are proud of the resume of the self-proclaimed "will" python. But with this level of learning, there are often setbacks in actual programming, mainly from a lack of understanding, and only the Python syntax and API level experience.

Feel free to list some of the most common problems for beginners:

1, do not understand the Python object model, variable name, object concept ambiguous

2. Do not understand mutable objects and immutable objects, especially int.

3, do not understand the slice means the copy, in the cycle of large use, affecting efficiency

4, do not know whether the slice is a shallow copy or deep copy

5, encountered bytes and STR (2.7 str and Unicode) on dizziness

6. Use = = often in scenarios where it is required

7, do not understand def is run-time execution statement, and is an assignment statement

8. Confusion of class attributes and instance properties

9. Do not understand that modifying variable object parameters in a function can have an effect on the caller, causing a baffling error

10. Attempt to modify global variables in the function without using global and create local variables

11. Make function default parameter with variable object

The value of a programmer with a certain skill can be measured by the cost of learning skills. The extent to which you have studied in 2 weeks is of no value to the business, because the boss can make a programmer in any other language in a company go through 2-3 weeks of study to reach your current level.

Python is simple and easy to use, and rapid development is valuable for the project, but it's not your value, it's the value of Python. So improve your own value, that is, not let others easily catch up with you, at a very low cost to replace you.

You can only run and study further.

The Python language level also needs to learn some of the following:

1. Using Generators, iterators

2. Functional programming, anonymous functions lambda, map, reduce, filter

3. List parsing, dictionary parsing, set parsing, generator parsing

4. Operator overloading (setattr, getattr, GetItem, GT, lt ...)

5.property, descriptor (GET, set, delete)

6. Context Manager (enter, exit)

7. In-depth understanding of object-oriented

The above are language-level, belong to the internal organs. In combat, of course also need some more specific drilling, training drilling can start from familiar with the Python standard library, these modules can enter the standard library to explain that they are good enough and common enough in actual projects, listing some of the most commonly used:

1. Regular expression re

2. Iterative Tools Itertools

3. Commonly used data structures collections, HEAPQ, array

4. Processing binary Data structs

5. Stochastic random

6. System Call OS

Serialization of 7.Python objects Pickle

8. Multi-process multithreaded processing threading, multiprocessing

9. Network socket, Urllib

10. System Parameters SYS

Whether practicing internal or drilling, combined with combat is the best training and testing methods, according to individual circumstances and preferences, such as:

1. Using Django,flask to develop Web sites

2. Developing a web crawler or using a Python crawler framework (e.g. Scrapy)

3. Write some automated operation and maintenance scripts, read a software log regularly, abnormal automatic email

4. Test the site with selenium

5. Using Python to develop a Raspberry Pi trolley (motor, sensor drive)

6. Use Python to develop a vim plugin, such as a music player in vim

7. Use Python to do algorithmic problems, such as Leetcode

8.OPENCV do image recognition

9. Using NumPy and pandas for data processing

10. Use the Machine learning Library Sklearn, TensorFlow to do the application

11. Writing Desktop apps using PYQT

12. Use Scipy,matplotlib to do scientific calculations

13. Use Python to do penetration testing

Personal advice to choose small projects for practical training, some novice come up to want to set a big goal, do when very frustrated, often halfway. Or should the small things first realize, and then optimize, then add new features, slowly iteration to make small things bigger. In doing so, you will have a sense of accomplishment and motivation to move forward every time you implement a small function.

It may be a long time before you become a skilled Python application member, and there are some advanced topics you can continue to learn:

1. Decorative Device

2. Meta-class

These high-level topics are often used in development frameworks that can help you create more flexible code.

Usually claiming to be one months of speed of light learning the Python people are basically not genius, but impetuous, target is relatively low. Don't get too quick, play slowly, and be diligent.

What can python do?

Web development and crawler are more suitable for the 0 foundation

Automated operation and maintenance development and automated testing are suitable for those who are already doing operations and testing

Big Data data analysis This aspect is very need professional professional of relatively strong

Scientific calculations are generally used by researchers

Machine learning and AI first degree requirements high next high number requirements high difficulty is very big

I have a public number, and I often share some of the stuff about Python technology, and if you like my share, you can use the search for "Python language learning". Welcome to join thousands of people to communicate questions and Answers group: 588090942

As a more than Hunan's fire python net red, 0 basic how to start the system to learn it?

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.