Welcome to the Complete Python Course.
Learn Python from a software developer. If you want to master Python and write efficient, elegant, and simple code, this is the course you've been looking for.
Even if you have no programming experience, this course will give you a super-strong foundation and teach you how to use Python to achieve any goal.
We've crafted every piece of content to be concise and straightforward, while never leaving you confused:
Welcome to the Complete Python Course.
Learn Python from a software developer. If you want to master Python and write efficient, elegant, and simple code, this is the course you've been looking for.
Even if you have no programming experience, this course will give you a super-strong foundation and teach you how to use Python to achieve any goal.
We've crafted every piece of content to be concise and straightforward, while never leaving you confused:
Hundreds of code-along videos with in-depth explanations
Dozens of presentations with animated diagrams
Quizzes
Coding exercises
Python projects for you to learn to make real Python applications
Why Choose THIS Course?
Get a broader and deeper experience in Python than with any other Udemy course on the market.
Start at zero and become an expert whilst learning all about the inner workings of Python.
Learn how to write professional Python code like a professional Python developer.
Embrace simplicity and develop good programming habits.
Explore advanced Python, such as decorators, asynchronous development, and managing project dependencies
Improve your Python code with formatters and linters
Store data in a database so it's accessible and searchable.
Learn about web development using Flask, to create websites that you can share with users.
Extract information from existing websites using web scraping.
Control your browser using Selenium, to automate using almost any website.
Learn to interact with REST APIs to fetch data from other web applications.
Create desktop GUIs using Tkinter, and turn them into executable applications you can share with non-technical users.
Start working with unit testing in Python by learning about the unittest library
Who Is This Course For?
Beginners who have never programmed before.
Programmers with experience in other languages who want to kickstart their Python programming.
Programmers who know some Python but want to round off their skills and become truly proficient.
What Am I Going to Get From This Course?
Lifetime access to over 300 code-along lectures covering all aspects of Python, from the foundations to advanced concepts.
Complete written notes and code for you to read and refer to as you progress through the course.
Milestone projects for you to complete throughout the course. These provide a challenge and an opportunity for you to apply what you've learned. We always go over the code after to show you how we would tackle them.
Quizzes and coding exercises for you to check your understanding.
High-quality help and support. Every year we personally help thousands of students. We don’t leave a single question unanswered.
Here's a breakdown of some of the topics this course covers.
Command Line Basics
Installing Python
Running Python Code
Strings and Numbers
String Formatting
Lists, Dictionaries, Tuples, and Sets
Functions and lambdas
Decorators
Scope
args/kwargs and default parameter values
The concept of mutability
Built-in Functions
Debugging and Error Handling
Type hinting (new in Python 3.8)
Creating your own error classes
Modules and installing libraries
Object Oriented Programming, in a lot of depth
Composition and Inheritance
File I/O
Database interactions
Unit testing
Regex (Regular Expressions)
Web Scraping
Algorithms and Data Structures
And much, much more.
Feel free to read through the course curriculum, as well as watch the free lectures of this course. I'm sure you'll enjoy them.
But don't take my word for it. Read through some of these reviews and see what other students are saying:
> "Excellent teaching ability combined with deep understanding of the subject has produced one of the best online courses I've taken in decades. Fabulous work. Thank you. " - Maria Iano
> "Really amazing course. would recommend to all the students or programmers who want to learn python from scratch." - Hriday Panchal
> "Exactly the course I needed. Explanations are clear, lots of examples, and everything you need in python. thanks so much." - Julien Palleau
> "Another amazing offering from Jose. This course offers the most comprehensive look at Python available. Consider, for example, the extensive treatment regarding asynchronous development, or the detailed introduction to web development with Flask, or the Tkinter GUI introduction. I have had several other offerings by Jose here on Udemy. Always get far more than I expected." - Martin Dwyer
> "Honestly, I don’t know much about other courses, but after taking a quick peek at some of them, I can safely say that this is the most complete Python course in Udemy. [...] Definitely recommended for those who want to begin their Python journey but don’t know where to start." - Mateo Delgadillo Karam
Also remember: we have a 30-day money-back guarantee, so sign up and try the course totally risk-free.
I'll see you on the inside.
Installing all required software at the start of the course can be quite boring. Instead, in this course we'll dive right into Python by using a great cloud environment where you can type and run your Python code.
An added bonus is that you can always share your code with the instructor team and we can very easily help you out if you have doubts or encounter any problems.
Let's start the course by talking about one of the fundamental types of data in Python: numbers. We can have whole numbers (known as integers) and also numbers with decimal places (known as floats).
In this lecture we also talk about how to communicate with the user by printing things out.
Review what we've just learned!
Practice what you've just learned about numbers and printing things out to the user in Python in this quiz. There's just a couple questions—I'm sure you can do it!
This short article provides a solution to the coding exercise, just so you can double-check your code against it!
In this lecture we talk about strings in Python. Strings are just collections of characters, numbers, and symbols. We also talk about how to use existing variable in strings to make them more dynamic.
String formatting questions to review what you've learned!
In this lecture we talk about how to get the user to give us data. Programming is all about taking data and transforming it. We now know how to tell the user things, we must get the user give us things!
Double-check what you've learned about strings, string formatting, and user input with this quiz.
In this lecture we look at True and False values in Python. These are very important, because they allow our programs to make decisions.
Recap what we just covered on booleans and comparisons in this short quiz!
In this lecture look at how we can store multiple values in the same variable, by using built-in structures like the list, tuple, or set. These are all different and can be used in different scenarios.
Sets in particular can be extremely powerful. In Python, we can use sets to calculate elements that match in two collections and also to perform other, related operations.
Practice your knowledge of lists, tuples, and sets in this quiz covering Python fundamentals and set operations.
The Python dictionary is one of the most useful structures in the language. It allows us to map values to keys—for example, "name" to "Rolf". With dictionaries, we can make our programs start talking about things as opposed to just pieces of data!
Dictionaries are extremely important in Python. Review what you've learned in this short quiz!
In this lecture we look at how to calculate the length and the total sum of elements in a list, tuple, or dictionary in Python.
In this lecture we talk about if statements. If statements are Python constructs which, given a True or False value, can change the flow of our programs.
In this lecture we look at while loops. The while loop is a type of construct which allows our programs to repeat a certain block of code for as long as a conditional is True.
In this lecture we talk about the for loop, as well as the range() function and a brief aside on tuple destructuring. The for loop is great for doing something with each item of a collection, such as a list.
In this lecture we talk about two parts of the Python syntax which we can use inside loops: break and continue. These can be used to exit out of a loop early in two different ways.
Review your knowledge of loops, both while and for, in this quiz with some code questions!
In this lecture we talk about list slicing. You can create list slices from existing lists, just by providing a range of indices that you want your new list to contain.
In this lecture we talk about list comprehension. List comprehension creates a new list from an existing list, but we have the opportunity of choosing what elements to include. In addition, we can perform transformations on new elements.
In this lecture we look briefly at using comprehensions in other data structures, like sets and dictionaries.
Review your knowledge of list comprehension and slicing in Python with these code questions.
In this lecture we take a look at functions in Python.
In this lecture we investigate how to make our functions give back values so that the caller of the function can use them. This is a key pillar of programming!
Review your knowledge of functions in Python with these code questions.
In this lecture we look at lambda functions in Python. These are used to get inputs, and succinctly process them before returning them.
Recap of the more advanced functions in Python with code questions about lambda functions and first-class functions.
In this brief lecture we look at installing Python in your computer. It's very simple, just download the installer and go through it. Windows users need to make sure to select specific settings, however.
In this lecture we look at installing PyCharm. Again a simple process! PyCharm allows us to write and run Python code easily.
In this video we create our first PyCharm project!
A short aside from the main content of the course; just a quick video on changing PyCharm's settings to suit you.
This lecture introduces object-oriented programming! Objects allow our programs to start talking about real-world things in a better context.
Learn more about classes and objects in this lecture. What is self? What is it used for?
A quick article lecture on what built-in functions are, a few more examples, and where you can read more about them.
Recap your knowledge of object-oriented programming with these code questions!
This brief interlude talks about how to name your parameters in Python programs.
In this lecture we talk about some magic methods in Python, like what __init__ and __repr__ are for.
In this lecture we talk about inheritance, and in which situations it can be handy. When we do inheritance, a class takes absolutely everything from another one—but then we can change anything we want in the new class!
A slightly more advanced concept, in this video we briefly look at accessing a method as property using the @property decorator. Decorators though, will be covered in length later on!
Let's review some more advanced object-oriented programming concepts, such as inheritance and magic methods, in this quiz!
In this lecture we talk about the purpose of the @classmethod and @staticmethod decorators.
Because @classmethod and @staticmethod can be a bit confusing, here's a few more examples of them in use!
@classmethod and @staticmethod can be quite confusing, particularly at the start. Let's review them in this quiz.
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.