My journey through learning Python : Where to begin?

Β·

6 min read

I know that you know that Python is awesome. That's why you're here, right? But did you know why is it awesome?

Introduction

There are many reasons why Python is an awesome programming language, including:

  1. Easy to Learn and Use: Python has a simple syntax and is easy to read, write and understand, making it an ideal language for beginners (ie. you).
  2. Versatile: Python can be used for a wide range of applications, from web development to data science, machine learning, artificial intelligence, and more.
  3. Large Community: Python has a large and active community of developers who contribute to its development and provide support to users.
  4. Cross-Platform Compatibility: Python runs on all major operating systems, including Windows, macOS, and Linux.
  5. Extensive Libraries: Python has a vast collection of libraries and frameworks that can be used to perform various tasks, such as data analysis, scientific computing, web development, and more.
  6. High Productivity: With Python, developers can write code quickly and efficiently, which increases productivity and reduces development time.
  7. Open-Source: (this is my favorite, someday, I'll write an article about Open-Source) Python is open-source, meaning that anyone can contribute to its development and use it for free.
  8. Object-Oriented: Python is an object-oriented programming language, which makes it easy to create reusable code and maintain large projects.

Overall, Python's versatility, ease of use, and community support make it an awesome programming language for developers of all levels.


Where to start?

I'm not gonna repeat myself, you know that Python is awesome now and you want to learn it. Where do you start your journey?

Start with the basics

The first step in learning Python is to understand the basics. This includes learning how to install Python, understanding basic programming concepts like variables, loops, and functions, and getting familiar with the syntax of the language. There are many online resources available that can help you get started with Python, including Codecademy, edX, and Coursera. These sites offer introductory courses that cover the fundamentals of Python programming.

But, what is my favorite? What do I take to learn Python? Well... You're not gonna be happy with my answer... I don't remember... ahah... I learnt it everywhere I could.

But, I know wich one I would retake now:

  1. 100 Days of Code: The Complete Python Pro Bootcamp for 2023 : It's a Udemy class given by Angela Yu. I'm taking it at the moment, so I'm just starting with the basics. But even though I'm pretty familiar with the syntax of Python, I'm still learning something new everyday! That's like magic! You really should give it a try!
  2. Python for Everybody - Full University Python Course: Offered by Dr. Charles Severance (a.k.a. Dr. Chuck) and shared by FreeCodeCamp.org on their youtube channel, it's the perfect course if you are more of a video-learner. I took it on EdX.org website, the course is pretty complete and easy to begins with. Don't hesitate!
  3. Automate the Boring Stuff with Python: Written by Al Sweigart, it has over 500,000 copies sold. So, if reading a book in the train is your cup of tea, go for it!

Ok, cool, you learn Python in the big lines but you want more (and I understant you!). What's next?

Practice the theory

You HAVE TO practice on a daily basis to not forget what you previously read.

There are tons of websites with exercises, just search on your favorite search engine.

But, just for you, here is my favorite: CheckIO. It is really great, sort of a game, so not boring at all. ;)

Choose a project to work on

One of the best ways to learn Python is by working on a project. Choose a project that interests you and use Python to build it. For example, you could build a simple game, create a website using Django/Flask, or analyze data using pandas. Working on a project will not only help you learn the language but also give you a sense of accomplishment as you see your project come to life.

Working on projects is very formative. But what project? If, like me, you don't have a single idea to work with, ask ChatGPT.

  1. Build a calculator that can perform basic arithmetic operations such as addition, subtraction, multiplication, and division.
  2. Create a program that can convert temperatures from Celsius to Fahrenheit and vice versa.
  3. Develop a simple game such as Rock-Paper-Scissors or Tic-Tac-Toe.
  4. Build a password generator that can create strong passwords.
  5. Develop a program that can calculate the area and perimeter of basic geometric shapes such as a circle, square, or rectangle.
  6. Create a program that can generate and print out random quotes or inspirational messages.
  7. Develop a program that can encrypt and decrypt text messages using a simple encryption algorithm.
  8. Build a program that can count the number of words, characters, and lines in a given text file.
  9. Create a program that can scrape data from a website and display it in a user-friendly format.
  10. Develop a program that can play a simple melody using the computer's speaker.
  11. Build a program that can convert a given text file into a PDF file.
  12. Create a program that can draw basic geometric shapes using the turtle module.
  13. Develop a program that can simulate a coin flip or dice roll.
  14. Build a program that can generate and display fractals such as the Mandelbrot set.
  15. Create a program that can generate and display a simple bar chart or pie chart based on user input.
  16. Develop a program that can track and display the user's daily water intake.
  17. Build a program that can create and manage a simple to-do list.
  18. Create a program that can translate text from one language to another using an API such as Google Translate.
  19. Develop a program that can detect and remove duplicate files on the user's computer.
  20. Build a program that can generate and display a simple ASCII art image based on user input.

-- ChatGPT

Cool, your project is on the road again, but you want to know a little bit more?

Read Python documentation

Python has excellent documentation that can help you learn the language. The official Python documentation covers everything from the basics of the language to advanced topics like machine learning and artificial intelligence. Reading the documentation can help you understand the inner workings of Python and its libraries.


So, now you're a pro, you know everything about python. But, you have a question for me:

What's next?!

Participate in online communities

Online communities like Reddit, Stack Overflow, and GitHub are excellent resources for learning Python. These communities are filled with experienced programmers who are always willing to help beginners learn. You can ask questions, get feedback on your code, and even collaborate on projects with other programmers.

Conclusion

Learning Python can seem like a daunting task, but with the right resources and approach, anyone can learn this powerful programming language. Starting with the basics, choosing a project to work on, reading the documentation and practicing regularly are all great ways to learn Python. By taking a step-by-step approach and staying motivated, you can master Python and take your programming skills to the next level.

About my journey

Follow my journey on this series of articles where I'll post my progress with the Angela Yu's course, the projects I'll work on and my exercises program. But most importantly, please, share your journey with me! I'm excited to read about your experiences with Python.

I hope to see you soon! 🐍

Β