After learning about the basics of Python, how can I find small projects to learn? Which website communities have more resources? After learning about the basics of Python, how can I find small projects to learn? Which website communities have more resources? Reply: Thank you @ Zhuangzhuang demon. I think this is not enough to write a program. Even if I look at it, I can only stay at the level of a small script. I still cannot solve the problem of complicated syntax or calling modules. I personally suggest buying a local copy. Or Read. you can also try to write some programs during or after reading the program. programs are related to your own work or interests. you can implement it first, and then optimize/Add feature. if you have any difficulties or do not know how to solve the problem, go to google/github/stackoverflow to find similar problems or projects, try to understand and 'move 'them to your own projects.
There is only one way to improve python-practice, write code, and summarize, think, and explore.
The goal is also very direct: you will think that the xx written in the past has a better expression, and the xx written in the past is very bad.
Let me summarize my journey and make some tips:
1. At the beginning, many of them started with copy code.
2. the code can be abstracted. For example, several functions on a single screen look similar, but the parameters or content are logically changed. then you can aggregate these functions into a function and pass different parameters to achieve the same effect.
3. there are several ways to look at other people's projects and see how others implement what you want to do. You can even study which method is more efficient, and the writing method is more powerful, then sum up, think about it, and ask yourself why they are using it, and write it down.
4. I tried to read some documentation or even code for a large project. It may cause errors in my environment. So I have to study why, you may even read his code directly to find the reason-I used the error and his error. I think they are a little closer.
5. I found that many modules have been imported from other projects that I have never seen before. I can directly go to google or read the python documentation to see what it is doing. What methods are available and commonly used in what areas, then I wrote it down several times.
6. there are only three types of python, including O & M/devops, web development, data analysis, and algorithms. each type has a corresponding library, and you gradually get familiar with their usage. Even if you push xx in the production environment, the effect is very good and you are in a bad mood.
7. as you get deeper and deeper, you need to know more-learn some front-end, learn some linux/osx. you may have an idea. I want to do something big.
8. You may have learned about MVC/at this time/
MVT and so on.When I started to think about the design model, I wanted to split it and make the architecture more reasonable. I had to overwrite a lot of things I wrote in the past and I was about to refactor ....
9. the refactoring process is painful, but I have learned a lot. then the design pattern or design idea will gradually stay in mind. writing a feature or a feature later will jump out a lot of reasons first. What should I do. the code will become more and more beautiful. efficiency is getting higher and higher.
10. I started to spoof my colleague's code and used balabala. Since I spoke, I cannot be too low, right? The requirements for yourself are getting higher and higher.
11. I started to read the code of large and outstanding projects. Reading is very painful. What is the biggest headache for programmers? Look at the code written by others. you need to enter the author's role to consider why ta writes this design. er, er. I suddenly found that his code logic was faulty. I tested it locally and then raised a pr. then it is received. the world is now different-you found that you didn't think so bad, you can vomit what you think is xx, yy.
12. I am more and more confident. I have read a lot of project code and contributed a lot. I have learned a lot. Now I have another idea? Python-What else can I do? A lot of things come out first-I haven't read the python source code yet. Okay, c. I won't. however, the standard library is basically written in python. let's take a look at how I wrote those things I imported all the time.
This process is very time-consuming. I did not understand or forget about 40% of my first reads. but there is a feeling that once you think of a demand, you can think of whether the python standard library has been implemented. If you may not remember where it is-this is the time to save your memory. I have been refactoring this part for a while, and I will delete a large part of it and replace it with 'from x import Y '. then I know another one-the best usage of python. The most nb functions are actually in the python standard library.
I suggest you read the standard library every time you learn python, instead of reading the official python documentation.
Okay, I contributed some code to the standard library by the way.
-I really want to contribute a lot. I found that the English reading ability, the test coverage of the python library is very high, and the authors of the Code are very nb. As a result, I only contributed a few lines.
13. Since then, I have a new perspective on designing a project-is there any implementation of the corresponding part of the python standard library? How is flask designed? What can I borrow? The combination of celery is not suitable for me. How can I adjust it? What is the role and position of my stuff in xx?
14. Continue to contribute code to your favorite projects. By the way, read the code. I think I don't like it. I fork one. Make it what I want it to be.
15. I suddenly found a web framework that has been used for many years. Although it is okay to use it now, I can also learn it now. But I found a fundamental point? Why have I been using a framework written by others? It's better to write one by myself. Okay, I'm writing ....
16. It happened here for me, but I still don't know about it.
I hope you can recommend Dive Into Python 3 for beginners.
.
- Learn Python through many instances
- At the end of each chapter, there will be further reading for more in-depth learning.
In addition, this book (Where to Go From Here
) There are various advanced topic information recommendations. Https://github.com/Yixiaohan/show-me-the-code
Http://www.pythonchallenge.com/
Http://www.fullstackpython.com/best-python-resources.html
Http://pbe.lightbird.net/
Http://www.lightbird.net/dbe/
Https://github.com/karan/Projects
Http://www.reddit.com/r/Python/
Https://www.hackerrank.com/
It cannot be stopped. Thank you. If you read a book on GitHub, select one from the list below.
Https://wiki.python.org/moin/AdvancedBooks
If you are doing a project, make full use of your imagination and do not blindly imitate it. Otherwise, programming will be boring, right? Many people have asked similar questions. For my answers, see some questions and answers about Python programming.
In the "how to learn Python" section. Three directions:
① Start-up development of small projects, such as crawler websites mentioned above;
② Learn some advanced usage, list analysis, decorator and so on.
③ Learn the python source code to see how the C language implements the object mechanism and how to recycle garbage.
Playback address
Https://github.com/pythonpeixun/article/blob/master/python_shiping.md
Diempython training _ python programming ideas 1.flv
Diempython training _ python programming ideas 2.flv
Diempython training _ python crawler. flv
Diempython training _ python training _ while loop. flv
Diempython training python training programming idea 3. flv
Diempython training python training function abstraction. flv
Diempython training python training class abstraction. flv
Diempython training python training nested functions. flv
Diempython training python training instance object. flv
Diempython training _ sublime text configuration. flv
Diempython training _ hello world. flv of tornado
Diempython training _ hello world. flv of web. py
Let me show you my learning methods.
The first step is to master the basic knowledge. There is a lot of basic knowledge on the Internet. For example, this website has a full set of Python video tutorials. You can refer to: Python video tutorial _ Python development practices video.
There are also a lot of Project tutorials, you can train your hands after you have mastered the basic knowledge.
After mastering the basic knowledge, you can write code, practice, and become proficient in the practice every day. You can also find out what you have not mastered or new knowledge points.
Finally, I want to find some small project exercises, learn some people's thoughts based on the exercises, and think about large projects in many aspects in the future. It is interesting that the subject can combine openCV and then engage in the image direction.