It seems there are tons of people interested in learning the Python programming language.

Whether you're interested in machine learning, web development, data science and data visualization, or simply want to automate something for your occupation, Python is one of the most popular programming languages today.


A Quick History of the Python Programming Language

Python was created in the early 1990s by Guido van Rossum, a programmer from the Netherlands.

Since then, it has gained immense popularity and is used by many companies and organizations around the world.

Python rose in popularity due to its focus on simplicity and readability, making it a great choice for beginners who want to learn how to code.

In addition, the language is open source, meaning that anyone can contribute to its development and improvement.


My History With Python

I've always wanted to learn to code but I struggled with where to start. As an avid Apple / Mac fan, I decided to start by learning to code iOS applications in Swift.

This was a good way to get my feet wet with programming but I found myself wanting to create programs that helped me in my daily life and occupation as a video editor.

A book that caught my eye was Automate the Boring Stuff With Python by Al Sweigart.

This introduction to Python was perfect for me – it helped me learn the basics of coding, while also teaching me how to automate tasks that would have taken much longer otherwise.

So I took the title of the book to heart and started to write programs and scripts automating repetitive and time-consuming tasks. Less time spent on repetitive tasks = more dollars per hour earned.


Enter Django

I had a background being an amateur web developer, both for my company and various websites for other podcast-related projects of mine.

Mostly the sites were running WordPress as a backend.

An issue I needed to address was that my company's WordPress site had dropped in Google rankings due to a few factors, one of them being Page Speed. This was likely due to a lot of Javascript plugins running on the site.

I purchased lots of additional third-party plugins to optimize my WordPress site and found that nothing helped despite the monthly fees I was paying.

So I decided I would rebuild it myself. Since Python was the only language I had learned (as opposed to PHP for WordPress), after some research I came across Django, a popular open-source Python-based web development platform.

Flask is a simpler platform if you're just starting, and perfect for creating a UI for Python-based scripts for personal use, all the way up to functioning websites.

I go over the pros and cons of Flask vs. Django here.

So long story short, after learning Python and learning Django, I was able to recreate my company website in Django and either hand-code or use open-source Python packages to plug into the site and give it everything that I needed to manage a company website.


So How Did I Learn Python?

After reading Automate the Boring Stuff with Python, I started watching a lot of YouTube channels that included Python tutorials.

Here are some of the best Python-related YouTube Channels to check out:



Corey Schafer (this guy was my favorite starting out. Great teacher, great beginner Python tutorials)

Dennis Ivy

JustDjango (for Django tutorials)

Michael Kennedy


Part Time Larry (finance, crypto, stocks)

Patrick Leober

Pretty Printed

Real Python


Traversy Media

I also spent a lot of time watching Python tutorials on LinkedIn Learning (formerly

Pro Tip: Simply having a library card at your local public library might give you a free membership to LinkedIn Learning. Mine does!

I think the most important tip I figured out early on for learning Python (or for any other programming languages) is you have to "do".

It's one thing to sit and watch python tutorials, but you need to be going through the motions and typing code and breaking code. This is the only way to properly learn python syntax.

Here are some more Python books that I found Useful and Helpful:

Will Vincent Django Books:

Django for Beginners

Django for APIs

Django for Professionals

Beyond the Basic Stuff With Python (Al Sweigart)

Python Crash Course (Eric Matthes)

Fluent Python (Luciano Ramalho)

I liked to dig into each of these books in bed and let my brain churn on them while I slept.

What IDE Do I Use for Python?

This is a common question and simply up to personal preference. I work in Visual Studio Code for a few reasons:

It's cross-platform (I work on Mac and Ubuntu, and there'sa also a Windows version)

There are lots of plugins for productivity.

I also like to use GitHub Copilot for Code Completion, which is available as a plugin in VS Code.

You Use GitHub Copilot? Isn't that Cheating?

I don't think using GitHub Copilot for writing Python is cheating. I just think of it as a smart autocomplete.

It "Automates the Boring Stuff" in its way by seeing your previous code and helping autocomplete your lines of code.

Plus if I don't understand a concept it's nice to see what it has to say by adding a plain-text comment on what I'd like to do and see what it recommends.

Python Podcasts to Check Out:

Finally: the Python Community

It can't be understated that the community of Python Programmers is a friendly, sharing group of folks who are very supportive in your journey to learn Python.

Check out Reddit Groups and Slack Channels of Python Users and you'll get a lot of help and good ideas along the way.


Learning Python Frequently Asked Questions:

What are the Best Ways to learn Python?

Books, YouTube Python Tutorial videos, websites geared toward Python Code, and software development. But mostly from writing code!

What are the Best IDEs for Python?

There are many different IDEs that you can use to write Python code. Some of the most popular include PyCharm, Visual Studio Code, Spyder, and Atom.

Each has its pros and cons, so it's best to try out a few and see which one you like the best. If you're new to programming in general, it can be a good idea to start with an IDE that has a lot of built-in resources and support for other programming languages.

What are the Best Resources for Learning Python?

There are many different resources that you can use to learn more about Python. Some of the most popular include online tutorials and videos, books on Python programming, websites designed specifically for learning Python, and online communities where you can connect with other Python developers. It's important to find resources that are tailored to your specific goals and skill level, as well as an approach that works best for you. Whether you prefer hands-on practice or more structured lessons, there is something out there for everyone who wants to learn more about Python.

What is Python used for?

Python can be used for a wide variety of tasks, including web development, data science and analytics, machine learning, scripting and automation, and much more.

It is an extremely versatile programming language that has many different applications in both the corporate world and the world of open-source software development.

Some areas where Python is particularly well-suited include data analysis, data visualization, and scientific computing.

Is Python OK for beginners?

Yes, Python is a great choice for beginners, as it has a relatively simple syntax and is easy to learn.

Many introductory programming courses today are starting to incorporate Python into their curriculums.

Is Python a language or Snake?

It is both.

Is Python a C or C++?

Python is not a C or C++, though it does have some similarities with these languages.

It is a high-level programming language that was designed to be easy to learn and intuitive to use.

Unlike C and C++, which are often used for system-level development, Python can be used for a wide range of applications and domains.

Does NASA use Python?

Yes, NASA does use Python for a variety of different programming tasks.

Some of the most common uses include scripting and automation, data analysis and visualization, machine learning, and scientific computing.

Is Python a good first programming language?

Python is a great first language because it is both powerful and relatively easy to learn. It has a simple syntax that makes it relatively intuitive to understand, and there are many online resources available to help new programmers get up-to-speed with the basics of Python programming.

Which is better Java or Python?

Both Java and Python have their strengths and benefits.

Java is more established and commonly used in the corporate world, while Python is well-suited for data analysis, automation, scientific computing, and many other tasks.

What are the 4 main uses of Python?

The four main uses of Python include web development, data science and analytics, machine learning, and scripting and automation.

Other areas where Python is often used include scientific computing, natural language processing, game development, and system administration.

Overall, Python is a versatile programming language that can be used for just about any purpose

How much does Python cost?

There is no set cost for Python, as it can be used in both commercial and open-source software development.

What is Object Oriented Programming in Python?

Object-oriented programming (OOP) is a programming paradigm that uses objects to design applications and computer programs.

In Python, OOP typically entails using classes and object instances to create models of real-world systems, including data structures, functions, and algorithms.

This can enable developers to manage their codebase more and reduce the need for repetitive or boilerplate code, making it a popular approach for many different types of software projects.

There is no definitive answer to this question, as the 'most popular' programming language can depend on several different factors.

Some of the most commonly-used programming languages include C/C++, Java, JavaScript, Python, and PHP.

Each of these languages has its strengths and benefits, and different types of software are often developed using a combination of different languages.

Overall, there is no single programming language that is best for every use case and project.

Instead, developers must carefully consider the specific requirements and goals of their application before choosing a language or set of languages to use in their development process.

What is the Python Software Foundation?

The Python Software Foundation (PSF) is an independent non-profit organization dedicated to promoting and supporting the popular programming language of Python.

As one of the leading open-source communities, the PSF organizes conferences and meetups, provides grants and scholarships, and manages a variety of other resources for programmers and developers around the world.

The PSF is also committed to defending and protecting the intellectual property of Python, as well as supporting its growth and development in all areas.

About the Author

Joseph Nilo is an experienced web developer, specializing in Python and Django development and SEO.

He's been creating websites, content, podcasts, and videos for the web for over 25 years.