Let’s First Take A Look At Who Is Learning Python:
The first category: novice programmers: just graduated from university or transferred to another industry, want to work in programming development, currently think Python is more popular, and want to enter the industry;
The second category: Linux system operation and maintenance personnel: Linux operation and maintenance is known for its complexity. The ability to master the knowledge of personnel systems is very high. Then a programming language is required to solve the automation problem. Python development and operation and maintenance work is the first choice. Python The salary of operation and maintenance salary is generally higher than that of Linux operation and maintenance personnel.
The third category: do data analysis or artificial intelligence: whether it is common big data analysis or general financial analysis, scientific analysis, data analysis is applied to a large extent, and some common applications of artificial intelligence also use some techniques of Python.
The fourth category: working programmers turn to Python development: usually only focus on the div + css page technology, many times actually need to interact with back-end developers, and now there are many Java programs in the Python language, they are all Python code Be impressed by the beauty and development efficiency
Fifth category: Others: When some engineers used to do a lot of SEO optimization, they were struggling to not program. The problems in some programs could not be solved, and they could only do simple page optimization. Now that you have learned Python, you can write programs for query collection, ranking, and automatic network map generation to solve difficult SEO problems.
Ten, What Can Learn Python?
What are the Python positions? The main positions are these:
Python Full Stack Development Engineer (10k-20K)
Python operation and maintenance development engineer (15k-20K)
Python Senior Development Engineer (15k-30K)
Python Big Data Engineer (15K-30K)
Python Machine Learning Engineer (15k-30K)
Python Architect (20k-40k)
What Python can do is an interesting question.
From Entry-Level Players To Professional Players-Crawlers
There are a lot of tutorials on writing crawlers in Python online. As far as I know, many people who are new to Python use them to write crawlers. Small to grab a small yellow map website, large to a commercial application of an Internet company. Getting started with Python is relatively simple and easy to learn. You don’t need to master too much basic knowledge at the beginning to get started quickly, and you can quickly make results. It is very suitable for Xiaobai who wants to make something visible at first. A sense of accomplishment.
In addition to getting started, crawlers are also widely used in companies, platforms, and organizations that need data. It is very common to achieve some business value by capturing public data on the Internet. Of course, the crawlers of these players are much more powerful. They need to deal with many problems, including routing, storage, and distributed computing. The complexity is a lot of times worse than that of Xiaobai’s small program for catching yellow maps.
In addition to crawlers, Python is also widely used in web-side programs. For example, you are currently using Zhihu. The main site backend is based on Python’s tornado framework, and Douban’s backend is also based on Python. In addition to tornado (Tornado Web Server), Python commonly used web frameworks include Flask (Welcome | Flask (A Python Microframework)), Django (The Web framework for perfectionists with deadlines), and so on. Through the above framework, you can easily implement a Web program. For example, some friends I know have written their own blog programs through Python, including the previous zhihu.photo. I just implemented the background through Flask (for copyright, etc.) For reasons I have stopped this site). In addition to the above frameworks, you can also try to implement a web framework yourself.
Python also has a lot of UI libraries. You can easily complete a GUI program. (When I first got into programming, I thought it was cool to write a GUI, but it took me a long time to come up with a small program in VC6. Later I went through Delphi. , Java, etc., when I finally encountered Python, I was no longer interested in the GUI). There are also many examples of GUIs implemented in Python, including the well-known Dropbox, which is a server-side and client-side program implemented in Python.
Artificial Intelligence (AI) And Machine Learning
Artificial intelligence is a very hot direction now. The AI boom has filled the future of Python with unlimited potential. Several very influential AI frameworks released now are mostly implemented by Python. Why? Because Python is dynamic enough and has sufficient performance, this is a technical feature required by AI technology. For example, some websites based on Python’s deep learning library, deep learning direction, machine learning direction, and natural language processing direction are basically implemented through Python.
Machine learning, especially the popular deep learning nowadays, most of its tool frameworks provide Python interfaces. Python has always had a good reputation in the field of scientific computing. Its concise and clear syntax and rich computing tools are deeply loved by developers in this field.
Long before frameworks such as deep learning and Tensorflow became popular, scikit-learn was available in Python. It can easily complete almost all machine learning models. Downloading from classic datasets to building models requires only a few simple lines of code. With Pandas, matplotlib and other tools, it can be easily adjusted.
And deep learning frameworks such as Tensorflow, PyTorch, MXNet, Keras have greatly expanded the possibilities of machine learning. Using Keras to write a deep learning network for handwritten digit recognition requires only a few dozen lines of code, and with the help of the underlying implementation, it can conveniently call a large number of resources, including GPUs, to complete the work.
It is worth mentioning that no matter what framework, Python is only used as a front-end description language, and the actual calculation is implemented by the underlying C / C ++. Because Python can easily introduce and use C / C ++ projects and libraries to achieve functional and performance expansion, such large-scale calculations allow developers to pay more attention to the logic of the data itself, and from the complicated work such as memory allocation The liberation is an important reason why Python is widely used in the field of machine learning.
The development efficiency of Python is very high. Modules with higher performance requirements can be rewritten in C and called by Python. At the same time, Python can abstract problems at a higher level, so it is also very popular in the field of scientific computing. The emergence of third-party libraries for scientific computing, including scipy, numpy, etc., is more convenient and has certain mathematical foundations, but friends with general computer foundations.
How To Learn Python?
Under zero circumstances, I want to learn a language. In fact, Python is very suitable for beginners. Compared with many other mainstream programming languages, it has better readability, so it is relatively easy to get started. So how to quickly master python?
Set goals: In addition to being familiar with the language itself, doing Python development requires a lot of related skills. For example, in the NBA, you not only have to learn how to shoot, but also practice a whole set of power, skills and tactics. Therefore, the skills required for an ordinary Python web development engineer include at least one web framework, such as: Django, Flask, and Tornado. To be a business system, you must be familiar with a database. You also need to understand the basic operations and common commands of the Linux system. Because in the future you will write programs that will basically run on the Linux platform.
Development tools: If you want to do your best, you must first sharpen your tools. The Python IDE comes out endlessly. It is recommended that both Pycharm and Sublime are free, and their learning costs are very low. You can find a tutorial online to get started. Ancient artifacts such as Vim and Emacs are better left out later.
Python3: Novices are always entangled in learning Python2 or Python3. This entanglement is completely annoying to themselves, because they are the same language, and only a few parts of the syntax are incompatible. Although most companies are still using Python2, but Python3 It is an indisputable fact to gradually become the mainstream, after all, the latter has an advantage in terms of performance.
Learning framework: For those who are just getting started, the most important thing is to cultivate Ta’s learning interest and confidence. Some people worry that their basic knowledge is so weak, how can they learn the framework well? In fact, this worry is not necessary. Most large frameworks encapsulate the functions completely and define a set of “rules for doing things under their own framework.” “, The learning framework is more about learning these” rules “, and getting started does not require a deep theoretical foundation.
Twelve, Python introductory books recommended
“Python Learning Manual (4th Edition)”
[Introduction] Through the “Python Learning Manual (4th Edition)”, you can learn Python’s main built-in object types such as numbers, lists, and dictionaries, as well as methods and common syntax models for creating and processing objects using Python statements. We all know that functions are used to construct and reuse code. Functions are the basic process tools of Python; learning Python’s object-oriented programming tools can be used to organize program code; learning exception handling models can be used as a development tool for writing larger programs. So, if you want to learn the wrapper statements, functions, and other tools of Python modules in order to build larger components, this book is a good choice. In addition, the Python Study Manual (4th Edition) provides chapters on understanding advanced Python tools such as decorators, descriptors, metaclasses, and Unicode processing.
[Big Niu evaluation] This book is definitely a first-class cheat for the basic skills of Python. It is mentioned from entry to advanced, and there are many superficial and easy-to-understand examples in the book. If you have n’t touched Python before, then Books are perfect for reading.
2. “Stupid Way To Learn Python (3rd Edition)”
[Introduction] “Stupid Way to Learn Python (3rd Edition)” is a Python introductory book, suitable for readers who don’t know much about computers, have not studied programming, but are interested in programming. The structure of this book is very simple. It covers three topics: input / output, variables, and functions, as well as more advanced topics, such as conditional judgment, loops, classes and objects, code testing, and project implementation. The format of each chapter is basically the same. Start with code exercises, write the code according to the instructions, run and check the results, and then do additional exercises. This book guides readers to learn programming step by step through exercises. From simple printing to teaching of complete projects, beginners start with basic programming techniques and finally experience the basic process of software development.
[Daniel comment] Hardway (stupid method) is more suitable for starting programming, as a good introduction to Python.
3. “Data Analysis With Python”
[Content introduction] This book introduces the basics and advanced knowledge of NumPy (NumericalPython). Starting from the data analysis tools of the pandas library, it uses high-performance tools to load, clean, transform, merge, and reshape data. It uses matplotlib to create distributed Point plots and methods for visualizing results statically or interactively, using pandas’ groupby function to slice, dice, and summarize data sets, as well as techniques for processing a variety of time series data. “Using Python for Data Analysis” is more practical.
[Daniel comment] I didn’t know what AQR did when I first saw it. During the internship, I found that the author turned out to be AQR ?!
4. “Collective Wisdom Programming”
[Content introduction] The book “Collective Wisdom Programming” is informative, including collaborative filtering technology (implementing related product recommendation functions), cluster data analysis (exploring similar subsets of data in large-scale data sets), core search engine technologies (crawlers, indexes , Query engine, PageRank algorithm, etc.), optimization algorithms that search massive amounts of information and analyze and draw conclusions, Bayesian filtering technology (spam filtering, text filtering), using decision tree technology to implement prediction and decision modeling functions, social networking Network information matching technology, machine learning and artificial intelligence applications.
“Collective Wisdom Programming” with machine learning and computational statistics as the theme background, specifically describes how to mine and analyze data and resources on the Web, and how to analyze user experience, marketing, personal taste and many other information, and draw useful conclusions, And then use complex algorithms to obtain, collect and analyze user data and feedback information from Web sites in order to create new user value and business value. This book is a great choice for professionals such as Web developers, architects, application engineers.
[Big Niu evaluation] To show Python programming skills in the form of specific examples, benefit a lot.
5. “Python Algorithm Tutorial”
[Big Niu evaluation] If you have read the introduction to algorithms, this book is a Python implementation of simple algorithms; if you have only read the study manual, then this easy-to-understand book can be used as an enlightenment book for algorithms.
[Content introduction] “Python Algorithm Tutorial” introduces tree, graph, counting problem, inductive recursion, traversal, decomposition and merge, greedy algorithm, complex dependency, Dijkstra algorithm, matching and cutting problem, and difficult problem and its dilution. At the end of each chapter, there are practice questions and reference materials, which provide more convenience for the reader’s self-examination and further study. As we all know, Python is an object-oriented, interpreted computer programming language. It has a wide range of applications, including data analysis, natural language processing, machine learning, scientific computing, and recommendation system construction. This book focuses on classical algorithms, but it will also lay a good foundation for readers to understand basic algorithm problems and solve problems.