I fell in love with Python when I started Serverless project on AWS Lambda using Python. Not only that I did the most interesting project was to scrape different hotel booking sites (booking.com, Goibibo, etc.) to get hotel data.
I started learning Python from official docs: 3.7.2 Documentation. However, if you are a beginner then I would recommend you to learn from Geeks for Geeks.
Topic: Python basics, control structures, functions - Learning Python basics is a piece of cake, it is extremely simple to get up and running with Python. Basics like variables, operators and control structures are extremely easy to learn as opposed to other languages like Java.
Topic: OOP & Regular Expressions - This section was a bit tough, If you are a beginner then I would recommend you to focus on this section as it is widely used while making complex applications.
Topic: Tkinter - This was the most exciting as I finally learned how to build desktop GUI applications using Python. Learned about the Tkinter library which allowed us to build interactive GUI with Python. It felt as if everything I have learned until now started making sense.
Topic: Flask & Web Crawler - Building a web crawler was interesting as well, I built a crawler which was used by search engines back in the early days to crawl web pages, find hotel names, rates and store those data in a DB.
Topic: Twitter Bot - It was also exciting to learn how to interact with all the social media site with a simple script. Using Tweepy, I built so many twitter bots for like, retweet, follow back etc.
Final conclusion - It was a great experience learning Python and I now feel a lot more confident as a programmer. The main source of confidence was being able to build something of my own, however small it may be.
Here are a few of my tips if you want to start learning Python:
1. Have patience, if you are a beginner it will take time to let things sink in.
2. Aim at building small tools/projects don’t just learn the syntax and jump to a new programming language.
3. Frustration and pain is a part of the learning process, embrace it instead of avoiding it.
4. Errors are expected, don’t let that discourage you from learning.
5. Be consistent, if you are not consistent in learning it might take a lot more time and effort.
Happy Coding and find me on youtube! 💕