Python is considered one of the most popular programming languages in the world and it is only growing in popularity. It's a great first language to learn.

We just released an all-new Python programming course on the freeCodeCamp.org YouTube channel.

My name is Beau Carnes and I created this course. I’ve previously created one of the most popular JavaScript courses on YouTube as well as many Python tutorials. This is my best course yet.

This complete Python course is for beginners. You don’t need any previous programming experience to follow along and all you need to code in Python is a web browser.

In this course I will teach you all the core aspects of the Python programming language and I will simplify the more complex topics.

Python excels in a wide variety of scenarios such as Shell scripting, task automation, and web development. It is the language of choice for data analysis and machine learning, but it can also adapt to create games and work with embedded devices.

We’re going to jump right into it so you can start coding your first Python program as soon as possible.  In the first section, you will be guided line-by-line on how to create a rock-paper-scissors game.

After the first project, I’ll go into more detail about each of the main features of Python. This section is comprehensive and detailed.

In the final section you will use what you’ve been learning to code a blackjack game with me guiding you every step of the way. I'll use this project as an opportunity to teach you more about object oriented programming in Python.

Throughout the course, there will be a little repetition of some of the key Python programming concepts to make sure you have a deep understanding of the language.

Here is a list of many of the Python topics you will learn about in this comprehensive course:

  • Variables
  • Expressions and Statements
  • Comments
  • Data Types
  • Operators
  • Arithmetic Operators
  • Comparison Operators
  • Boolean Operators
  • Bitwise Operators
  • is & in Operators
  • Ternary Operator
  • Strings
  • String Methods
  • F-strings
  • Escaping Characters
  • String Characters & Slicing
  • Booleans
  • Number Data Types
  • Built-in Functions
  • Enums
  • User Input
  • Control Statements
  • Lists
  • Sorting Lists
  • Tuples
  • Dictionaries
  • Sets
  • Functions
  • Variable Scope
  • Nested Functions
  • Closures
  • Objects
  • Loops
  • Break and Continue
  • Classes
  • Modules
  • Arguments from Command Line
  • Lambda Functions
  • Map, Filter, Reduce
  • Recursion
  • Decorators
  • Docstrings
  • Annotations
  • Exceptions
  • With
  • Installing Packages with pip
  • List Compression
  • Polymorphism
  • Operator Overloading

Watch the full course below or on the freeCodeCamp.org YouTube channel (5-hour watch).