Recommended python learning materials

Python beginners (zero-based learning Python, getting started with Python) books, videos, materials, community recommendations

1. Learn to use search engines, especially Google. Recommended reading articles

"How to make good use of Google search engine?  Know the question and answer @韩凯

"Ten Brilliant Google Search Skills" by-Xueying Lanfeng

"How to Use Google Well"  by-Li Xiaolai

2. Learn to ask questions

Recommended reading  "The Wisdom of Questioning"  by-Woodpecker Community

 Please read "The Wisdom of Questioning" !

3. Book recommendation

Zero-based

  1. Click on the official Python document  to open the link.  English is not good, so don’t read it for now, and you must strengthen your English learning in the future ;).

  2. I recommend "How to think like a computer scientist" , which corresponds to the Chinese version of "Python Study Notes--Pi Daqing", which is very suitable for zero-based entry.

  3. Recommend ["Python Programming Practice"] ( Python Programming Practice (Douban) )

  4. Recommend  "A Concise Python Tutorial"

  5. Recommend "Learn Python The Hard Way"

Have other programming language foundation

  1. Recommend "Python Basic Tutorial"

  2. Recommend Python introductory tutorial-By Liao Xuefeng

  3. Tutorial - Learn Python in 10 minutes

Advanced

  1. Recommended Requests source code reading

  2. "Python Advanced" (Intermediate Python Chinese Edition)

More book recommendations

  1. Zhihu Q&A : What are the classic introductory books about Python?

  2. V2EX Q&AArts students want to learn Python

  3. Python Quick Tutorial

4. Video recommendation

MIT open class "Introduction to Computer Science and Programming", this course is aimed at NetEase open class for zero-based users   .

Course Description This course is suitable for students with  little or no programming experience  . It is dedicated to enabling students to understand the role of computers in problem solving, and to help students,  regardless of their majors , equip them with the skills to complete useful small programs. Goal with confidence.

5. Learning method

Zhihu Q&A : Zero foundation, how should I start learning Python? --by @李敏

Although I am not a master of Python, I have zero foundation, and all I know before are software PS, PPT and the like.

If the goal is to become a programmer, refer to the syllabus.

If you just learn programs, understand technology, and solve work problems, my method can be used for reference:

  1. Find a suitable introductory book, read it roughly once, cycle and judge, commonly used classes, understand (too difficult to skip)

  2. Do some simple exercises, compare strings, read dates, etc. "Python Cookbook" is good (if it is too difficult and boring, skip it again, the most important thing is to maintain interest, if you don't know it, you can learn it later)

  3. Join the Python discussion group with a friendly and smiling attitude (very important, so that experts will patiently correct your wrong common sense). There are many small problems that have been entangled for a long time, and the other party will ask for ideas in one sentence, which really saves you a lot of time. Thank you so much for being patient and teaching me.

  4. Solve your own computer problems. For example, when downloading American dramas, I downloaded episodes 2, 4, 5, and 8 scatteredly, and the American dramas have 12 episodes in total. How do I find out the missing episodes? Then the problem is decomposed, 1. Read all the downloaded file names, 2. Extract the numbers in the set, 3. Sort the numbers and compare (1--12) to find out what is missing.

  5. Always remember the purpose, not to be a programmer, but to solve problems.

For example, if you want to be lazy to grab the content of the webpage, you can’t use urllib or request, only to find that the crawling content involves so many aspects (cookie, header, SSL, url, javascript, etc.), of course you can listen to others’ advice and go back and study hard , read from the beginning.

Or, if you don't seek efficiency, just seek solutions, can you open the webpage with ie and save it as a file? ie has rendered all the results.

The problem becomes: 1--Open the specified 10 web pages (one line of code is enough). Want to save something more complicated? Use existing packages, such as PAM30 (mine is Python3), open ie directly, use the function outHTML to save as text, and then use the search function (str search is also OK, and re regularization is also OK) to find the data. simple right? And the code is super short.

  1. Keep interested, solve problems in the simplest way, what underlying drivers, various exchanges, leave it to Daniel to write. We use the existing package to complete.

  2. Read the document patiently, and practice reading the document quickly. When you get a new package and find the functions you need, you need to read it quickly. This is not difficult, read the function name, you can probably guess what it does, and then look at the return value, you can judge whether it is what you need.

  3. Write help files and study notes, and publish and share. When teaching others, you have already rethought yourself.

I think learning programs is like learning English. If you understand high-frequency words (loop, judgment, commonly used packages, and commonly used functions), you can assemble them into the software you want.

Then, http://stackoverflow.com  and  http://Google.com  are good to use.

Then, stick to it.

Be sure to keep your interest and skip over complicated ones, just like primary school mathematics and primary school English, which are all simple to deep.

The Internet is very flat, and there are countless good books written by international experts, about Python, algorithms, computers, networks, or programmer ideas, or business thinking (the top of the wave is a good book), etc. There are also online open courses from international famous schools ( After the Chinese and English subtitles are translated, it’s not difficult to watch), it’s not difficult to talk about computers, networks, security, or Android systems, as long as you can continue to maintain interest and learn a little bit.

All genius programmers were once children, and return to children's thinking to understand and learn. If you find something interesting, learn it first. If you don’t understand it, let it go, and learn it again when you encounter problems. The effect will be better.

The only suggestion is, don't be too greedy, learn an elegant language patiently, and then learn others. Although Javascript is very cool for special effects, or when you ask a certain question, there is a big suggestion that it is better to use Ruby to write it, so don't change the direction. It's like the old joke: "To learn recursion, you must first understand recursion." Then the endless loop goes on and on. Persist in learning one language well, and then study others.

Even if one language, the parts related to the network, database, etc., if you can learn it well, then you can learn other languages ​​very quickly.

In addition, use the patience to learn English to learn computers. When encountering words that you don’t understand in English, copy them down and look them up.

In python, when you see Http, look up the definition. When you see outHtml, look up the definition. It’s the same as when you first learned English. Don’t guess the meaning directly, because the precise descriptive definition is different from the vague natural language. It is easy for newcomers to guess wrongly, and wiki and Google are very useful.

Sesame Q&A : How to learn Python  Click to open the link Author: @halida

how to learn python

We assume that you are a junior programmer who only knows a little basic knowledge and hopes to be able to use python for development. This document is written to meet the above goals.

outline

Go through the tasks indicated in this document, and you will be able to:

Familiar with the python language, and learn the coding method of python. Familiar with the python library, know how to find the corresponding modules when encountering development tasks. Know how to find and obtain third-party python libraries to cope with development tasks. Learning steps

Install the development environment

If you are under window, download pythonxy and install it, then run python to enter the python interpretation environment.

If you are under ubuntu, execute: sudo apt-get install python, then run python on the command line to enter the python interpretation environment.

study method

As a mature developer, my customary way of learning something new (assuming pyqt) is:

Directly use Google to search the official website of pyqt. According to the instructions of the official website, download pyqt. (If you use ubuntu, check if there is a new enough version in the software library) During the downloading process, start reading the tutorial on the official website. Tutorial, use pyqt according to the tutorial. If you find that the tutorial is not comprehensive enough, use Google to search for corresponding teaching books. After learning the example, develop a toy program to test whether you need to use the function. Start learning python

I suggest that you follow the above in the learning process, first go through the official python documentation:

The Python Tutorial — Python 3.11.1 documentation

Then do   the topic on the website of The Python Challenge .

If you are stuck in a certain level for too long, you can read the answer (google python challenge answer), and then see the difference between other people's coding methods and your own.

Small projects

After doing it once, you will find that you are familiar with the basic python development. Then do some small projects. Here are some topics, pick the ones you are interested in doing.

  • Write a simple calculator/accounting software/minesweeper game (use pyqt library as interface)
  • Write a chat room website (using webpy framework, jquery to refresh new replies)
  • Write a crawler to obtain the locations of all users on douban, and draw a histogram of location distribution (analyze with lxml, save the data in sqlite, and draw with matplotlib)

FAQ

Q: I have encountered a problem, where can I go for help?

A: Just go to  http://groups.google.com/group/python-cn  (need to bypass the wall) or  http://stackoverflow.com  to ask questions.

Q: How to find a function of python?

A: See the official documentation.  The Python Standard Library — Python 3.11.1 documentation

Q: How to use python to complete a task (such as writing a website)?

A: google: python write website, or google: python web development.

Zhihu Q&A : How did you learn Python by yourself? Click to open the link  Author:@成增差

Stage 1 : Seniors lead in the door. At first glance, a senior showed me the code of Python, because the first thing I learned was Java language. When I first saw Python, the senior said, "Python is object-oriented", and then printed a few sentences code. But I can't see where it is "object-oriented". The predecessors said "In Python, everything is an object", I realized a little bit and said: "It turns out that what is regarded as an object is object-oriented", haha.

Stage 2 : I started to read "Dive into Python", "Leaning python", and "Python Doc". Because I have a lot of language learning experience, I quickly completed the initial grammar and usage learning. Features that are too complicated are gradually mastered in use.

Phase 3 : Start using Python to do some of your daily work. For example, Python searches for files, Python batch processing, etc., and the re module and socket related modules are the most used. I wrote a lot of examples to make myself more fond of Python and more familiar with it. The most read at this time is the "Python Doc" guide. Whether it is language reference, library reference, or demo reference, there are a lot of usable content, and the quality of the content is very high, comparable to JDK.

Stage 4 : Start production. Start using Django, Flask, Tornado to develop some web applications, write some daily toolkits, etc. Gradually improve design capabilities and overall code management capabilities.

Stage 5 : More reasonably allocate the parts that C, Java, and Python are good at. Use the right language in the right place. Although a language can sometimes handle everything, it is most efficient to use a language you are good at to solve the right problem. This is also the help and understanding brought to me by the concept of "Python's road to simplicity".

PS: Some of the main  methods in the process  :

  1. read a book. The basis of learning.

  2. Practice locally. Programming still needs to practice true knowledge.

  3. Information query. Pay more attention to google, stackoverflow, etc.

  4. comminicate. Python group, forums on various forums. The earliest CU, JavaEye, but now it seems that there are fewer. The google group  must subscribe.

    Learning + practice + summary, the magic weapon to master the language.

六、Just Do It

After reading so much information, you haven’t typed the code yet?

Well, the best article "Two Biggest Mistakes I Made in Learning Programming   " Click to open the link

Just do it. Let's start typing code.

Note: This article is compiled by @史江歌 ( [email protected] ) based on Internet data.

7. Update

Python technical blog, recruitment, open source software, Python Chinese website navigation

How to solve python problems? python help dir stackoverflow docs google

Online video teaching (English) codecademy

EnglishPython for beginners

English How do I learn Python from zero to web development? (Various e-book recommendations) Click to open the link

Python application and practice  What is Python? Who is using it? Related tools? Author: @ Wu Qin

Python module learning  is equivalent to translating official website documents

For those with experience in other languages, English: Learn X in Y minutes  Chinese translation Y minutes to learn Python (translation)

PyCoder's Weekly Chinese translation  description: the quality of the article is very high

Example from PEP 20 (Zen of Python)  : code_stype

 Must-read for the pain of Unicode

 Must-read for the analysis and understanding of Python 2 and Sublime Text Chinese Unicode encoding issues

Organize and translate Python-related answers on stackoverflow

Summary of Python Language - Primary Intermediate Advanced Course  Author: @Crifan Li

Python Guide Python Best Practices (in English)

Python Best Practice Guide (Chinese)  A best practice manual for Python installation, configuration, and daily use.

Python Best Practice Guide 2018  Best practices for daily use of Python, what advanced Python developers must know

 Summary of "Code Farmer Weekly" Dry Goods Selection (Python)

Python 3 Module of the Week  Use of the Python Standard Library

Python - Novice to Master in 100 Days  Novice to Master in 100 Days

Python and Diago learning materials, books, articles, and practical projects

What the f*ck Python!

https://github.com/leisurelicht/wtfpython-cn

8. Reptiles and simulated login to Sina Weibo

Zhihu: How to get started with Python crawlers

Python reptile learning series tutorial @崔庆贤series of tutorials, entry, actual combat, reptile weapon introduction, advanced

Python simulates login to Sina Weibo (using RSA encryption method and Cookies file)

http://uliweb.clkg.org/tutorial/view_chapter/240

A simple distributed Sina Weibo crawler

Summary of some techniques for grabbing stations with python crawlers

Summary of some techniques for using python crawlers to grab stations: advanced articles

Web crawler series

Nine, tools

Under Windows system, Python related packages Windows Binaries for Python Extension Packages

Guess you like

Origin blog.csdn.net/z1829909/article/details/128768829