How to find a small project program to learn after understanding the basics of Python? Which sites have more resources related to the community?
Reply content:
Thank you for the strong demon. I think that the basis for writing procedures is not enough, even if you can only stay in the small script this level. It is not possible to encounter complex syntax or to invoke a module. I personally suggest buying this Or To read. Read the process to experience its example, you can also read the process or after reading to try to write some programs. Programs are related to their work or interests. Can be implemented first, then optimize/Add feature. Difficulties in the process or do not know how to change the idea can go to google/github/stackoverflow above to find similar problems or projects, try to understand and ' move ' into their own projects.
There is only one way to improve python--to practice, to write code. Then summarize, think, explore.
The goal is also very direct: you will feel the past written xx has a better way of expression, the past written xx is very bad
Let me summarize the course of my path and make some hints:
1. The first lot is the copy code
2. Discover that the code can be abstracted-for example, several functions are similar in one screen, except that there are some logical changes in parameters or content. So you can aggregate these functions into a single function to achieve the same effect by passing different parameters.
3. Look at other people's projects, see others achieve what you want to do in what way, there are several ways, you can even study which method is more efficient, that way to write to the higher, then summarize, think, ask yourself why they use, write down.
4. Try to look at some large-scale project documents, and even code--which may cause my environment to error, it is necessary to study why, and perhaps even directly read his code to find the reason-I used the wrong, his fault. Slowly, they felt a little nearer.
5. Find someone else's project import many have not seen the module, I go directly to Google or look at the Python document to see what it is doing, there are methods, often used in what place, and then gradually used a few times to write down.
6. Python is no more than three, operation and maintenance/devops,web development, data analysis/algorithm. Each has a corresponding library, you are gradually familiar with their usage, even you push XX in the production environment, the effect is very good, mood gray often good.
7. As you use more and more deep, you need to master more-to learn some of the front-end, learning some linux/osx. You may have ideas, I want to do something big.
8. This time maybe you know mvc/
mvt and so on.Start thinking about design patterns, I want to split, make the architecture more reasonable. I'm going to overturn a lot of things I've written in the past and I'm going to refactor ....
9. The refactoring process was painful, but learned a lot. Then design patterns or design ideas, and gradually stay in the heart. Later write a feature or a function will first jump out of a lot of why, I should how/not what. Will find the code more and more beautiful. more efficient.
10. Start the code of the spat colleague, usage Balabala. Now that you spit, you can't be too low, right? The demand for yourself is getting higher.
11. Start reading the code of large and excellent projects, reading is very kind of painful. What is the greatest pain of a programmer? Look at the code written by someone else. You also have to go into the role of the author, and consider why Ta wrote so design. Uh, uh. Suddenly found his code logic problems, local testing sure enough, and then stricken to mention a PR. Then was taken over. The world is not the same now-you find that you have not thought so bad, you can spit groove you think the cow b xx,yy.
12. More and more confidence, read the code of many projects, also contributed a lot. Learned a lot. This time again have the idea? python-I have nothing to do with it? A lot of the first jump out of IS-I have not read the Python source, OK c I will not. But the standard library is basically written in Python. Look at all the things I have to import all the way through, and how to use them.
This process is very time-consuming, I first read about 40% did not understand or forget. But there is a feeling that once you think of a requirement, you can think of something that has already been implemented in the Python standard library, and if it's possible to remember where it is-it's time to save your memory. I've been refactoring this part for a while, deleting a large paragraph of my writing and replacing it with ' from x import y '. Then I know the best usage of-python, the most NB features are actually in the Python standard library.
I suggest that every python must read the standard library. Instead of looking at the official Python document.
Well, I dropped a little bit of code into the standard library.
-I really want to contribute a lot, find English reading ability, the Python Library test coverage is very high, the author of the code is very NB, resulting in my very laborious only a few lines of contribution.
13. Since then, the design of a project I have a new perspective-the Python standard library has no corresponding part of the implementation. How the flask was designed. What can I borrow? Celery so combination, those I don't think fit me here. How do I adjust? What's the role and position of my this thing in XX?
14. Continue to contribute code to your favorite project, and read its code by the way. Think I don't like the use of it. I fork a one. Make it look like I want it to be.
15. Suddenly found that the use of a few years of the web framework, now, although with nothing to do, you can now learn to use. But found a fundamental point? Why am I always using a frame written by someone else? It's better to write one yourself. Well, I'm just writing ....
16. That's what happened to me.
I hope we have some help. Beginners recommend their favorite Dive into Python 3
。
- Learn more about Python through many examples
- Further reading at the end of each chapter for more in-depth learning
Here's another book (where to Go
There are various advanced topics in the material recommendation. https:// github.com/yixiaohan/sh Ow-me-the-code
http://www. pythonchallenge.com/
http://www. Fullstackpython.com/bes t-python-resources.html
/ http pbe.lightbird.net/
http://www. lightbird.net/dbe/
https:// Github.com/karan/projec TS
http://www. reddit.com/r/python/
https://www. hackerrank.com/
Can't stop at all. Thank you for your invitation. If you are reading a book from GitHub, choose one from the list below.
https:// wiki.python.org/moin/ad Vancedbooks
Do the project, play the imagination, do not blindly imitate, otherwise programming is not interesting, right? A lot of people have asked a similar question, and my answer to this is some questions and answers about Python programming.
In the "How To learn Python" subsection. Three directions:
① hands-on development of small projects, such as upstairs said Reptile site;
② Learn some advanced usage, list parsing, decorators and the like.
③ Learn python source code, see how C language is how to implement the object mechanism, how to do garbage collection.
Play Address
https:// Github.com/pythonpeixun /article/blob/master/python_shiping.md
Dieim Python training _python programming Ideas 1.flv
Dieim Python training _python programming Ideas 2.flv
Dieim python Training _python Training _python crawler. flv
Dieim python training _python training _while cycle. flv
Dieim Python Training Python training programming ideas three. flv
Dieim Python Training Python training function abstraction. flv
Dieim Python Training Python training class abstract. flv
Dieim python Training python training nested functions. flv
Dieim Python Training Instance object for Python training. flv
Dieim python training _sublime text configuration. flv
Dieim python training _tornado's Hello world.flv
Dieim python training _web.py's Hello world.flv
I'll tell you my way of learning.
The first is to master the basic knowledge, the Internet has a lot of basic knowledge, such as this site has a python full set of video tutorials, you can go to see: Python Video tutorial _python development Combat Video
And there are many project tutorials, master the basic knowledge can be practiced practiced hand
Then grasp the basic knowledge, is the daily Code, practice, from the practice of constant proficiency, but also can find that they do not master, or new knowledge points
The last is to find small project practice, according to the practice of some people's thinking, later encountered large projects, but also from many aspects of thinking. The master can combine OpenCV, and then go into the direction of the image, very interesting