Here are the learning steps for learning Python personally. This is the learning procedure when I taught people Python. The learning procedure is as follows. The period is approximately 2 weeks to 1 month.
--For basic programming grammar, buy a reference book and copy it. --Create a program using classes --GUI library: Create a desktop application using tkinter
The aim here is as follows.
--Learn the basic grammar through copying the reference book --Get an object-oriented (or component-oriented) feel through creating desktop apps ――It's easy to see if it's a GUI, so it's easy to get motivated.
I think the basics of the basics really don't need to be taught by anyone reading a book (in fact, when I first programmed it was self-taught). Basically, I think it's better to have someone study in a state close to self-study, and ask someone each time what they don't understand even if they look it up.
The development environment uses Anaconda. If you are a beginner, you will often stumble when building an environment. In the case of Anaconda, if you install it, you can use it for the time being, and if you use the IDE (Integrated Development Environment Software) called Spyder in Anaconda, you can program without thinking about anything, so I am using Anaconda. ..
I said "[Easy Python](https://www.amazon.co.jp/%E3%82%84%E3%81%95%E3%81%97%E3%81%84Python-%E3%80%" 8C% E3% 82% 84% E3% 81% 95% E3% 81% 97% E3% 81% 84% E3% 80% 8D% E3% 82% B7% E3% 83% AA% E3% 83% BC% It is recommended to study using "E3% 82% BA-% E9% AB% 98% E6% A9% 8B-% E9% BA% BB% E5% A5% 88 / dp / 4797396024)". The basics are explained in an easy-to-understand manner, and simple exercises are also available at the end of the chapter, making it easy to study.
Next, have them program using the class. There is an image that object-oriented code is not often found in Python courses. If I can't use the minimum class personally, I don't think it will be at a level that can be used for business.
Also, if possible, it would be interesting to create a program that uses the following API. Since Python is sometimes used on the server side, I think it is good to use it because you have knowledge about HTTP communication.
--Can be used by individuals! Recommended API list: https://qiita.com/mikan3rd/items/ba4737023f08bb2ca161
Finally, create a desktop application using the program created in the second item. Since tkinter is a library that can be used as standard for Python, there is no need to build an environment that makes it easy for beginners to stumble, and there is a "finished feeling" in appearance, so I think it is easy to raise motivation. Basically, create it so that gird is used a lot. In my head, I will assemble it as follows.
tk
├─frame1: Frame for page 1 / Automatically placed (pack)
| ├─frame_component1: Part 1 / table layout (grid)
| ├─frame_component2: Part 2 / table layout (grid)
├─frame2: Frame for page 2 / Automatically placed (pack)
├─frame_component3: Part 3 / table layout (grid)
├─frame_component4: Part 4 / table layout (grid)
Recommended Posts