Are you ready to become a true Python programmer and learn some of the most demanded skills on the market in programming for 2024?
Who is this course for?
Are you ready to become a true Python programmer and learn some of the most demanded skills on the market in programming for 2024?
Who is this course for?
This course is for anyone who wants to gain a very profound understanding of the Python language, so that you can take advantage of one of the most important tools of the century. Whether your are a beginner, or have experience with code, I will start from the very basics, and build up to the most important and advanced aspects of the Python programming language. You will also have the option to ask questions at any point during the course to profound your understanding of the Python programming language.
Why should you pick this course and not the others?
There are thousands of Python courses on the internet, so why should you pick this one? Well, to put it simply, I believe that I teach programming concepts in a far more effective way than a majority of the courses on the Internet. I make sure to only teach what's essential and needed, so that you don't waste time with code that you will never see or use in your entire career. I'm a self-taught professional and will teach you how you can be the same.
30 Day Money-Back Guarantee
During the first 30 days of this course you can opt in to get your money back. Whether it's because you feel that this course is not right for you, or changed your mind about learning Python, you can easily request a refund which will be handled kindly by Udemy.
An introduction to the course.
What do you need to get started with programming in Python? Let's find out.
Learn how you can install Python and PyCharm so that you can get started with writing code in Python!
You will learn how to create your very first program in Python in the lesson.
Syntax is very important in Python, and you'll learn why in this lesson.
Learn a shortcut that will save you a lot of time when running code in Python.
Comments can be very useful when programming, learn how you can use them in Python!
A quick quiz for getting started.
One of the most important features in programming languages, is the ability to create variables. We will cover that in this lesson.
Python doesn't have constants built into the language, but that doesn't mean that you can't use them.
Data types are a fundamental part of every programming language, they help us make sure we're performing tasks that actually make sense to both us, and to the computer.
In this lesson we will lightly touch on type hinting in Python. It's a very useful feature of the Python language.
Sometimes you need to combine certain types in Python, and not all types are compatible, so you will have to perform what we call a: "type conversion".
Everything you need to know about using integers in Python.
Learn how you can use all of the basic operators in Python.
Everything you need to know about using strings in Python.
F-Strings are strings with super powers.
Everything you need to know about using booleans in Python.
Learn about how you can use lists in Python.
Tuples are a lot like lists, but they are more memory efficient due to their immutable nature.
Learn how you can use sets in Python, and how they differ from tuples and lists.
Learn how you can use dictionaries in Python!
Here's the shorcut to formatting code in PyCharm.
Test your understand on the basics of Python!
I hope you're prepared to already start creating you very first scripts in Python! We will start with some control & flow: if, elif, & else.
Did you know that there was a way to use if...else using only one line of code?
Learn how you can save time with executing many lines of code, over and over and over.
Want to create an infinite loop? Check out the while loop!
Learn how you can use break and continue in for loops and while loops.
Learn about how you can use pass in Python.
Did you know that you can also use else in any looping logic?
Now that we learned how to write code, it's time we talk about reusability, and that means creating some cool functions!
Being able to create a function is nice, but being able to modify it with parameters is even better.
Let's see how we can return values from functions to create more useful programs!
Recursion is essentially what you would consider inception.
Let's learn about what *args & **kwargs are in Python.
This syntax allows us to be more specific with how we want arguments to be passed into our functions.
Up until this point, we've only been creating fake input for our programs. Now it's time that we look at how we can actually take live input from a user.
It's time we learn how to make our programs far more robust by handling possible errors that might occur during the runtime of our program.
Learn how you can use else & finally when working with try & except!
Sometimes we don't want to wait for our program to raise an exception, but we actually want to do it manually. Here's how we can do that.
When you first start programming, you will run into A LOT of errors, and sometimes it might not seem so clear as to what you should do. Let's tackle this problem together in this lesson.
Learn how we can use code from other files via importing in Python.
Let's look at how packages differ from modules in Python, and how we can create / import them.
Learn how you can install 3rd party packages in Python using PIP.
It's time we learn the difference between a package and a library.
Python has a very simple and efficient way of opening files, this is done with the with keyword.
Sometimes you will have to edit your code, refactoring makes this possible without making us give up in life.
Everything in Python can either evaluate to True, or to False. Let's find out how Python decides which is which!
Sometimes we need an organized way of using constants in our programs, this is where Enums come in.
Let's explore why we should always use if __name__ == '__main__' in Python.
Scopes are very important because they let us know where we can access a function/var and where we can't.
Local & Nonlocal are so very helpful keywords that help us keep our program under control much better.
Recently Python introduced a new feature which saved a lot of programmers a lot of time with creating lists, this feature is called list comprehensions.
Let's look at how we can use "::" to slice lists.
There's one big mistake you should avoid when looping in Python.
OOP stands for Object Oriented Programming, and we will be covering everything you need to know about it in this section of the course.
Let's learn about how we can use classes and objects in Python!
Why do we have to write self everywhere when we are creating a class? Let's find out!
What is the difference between a class var & an instance var? Let's find out together in this lesson!
Let's take a look at what getters & setters are in Python, and how we can use them!
We've been using __init__ a lot lately, but what is it exactly? And what does it do?
In Python you will hear people referring to __init__ as the constructor of a class, let's look at what that means exactly.
__str__ helps us give a nice and readable representation of the class we are working with. __repr__ gives us a very clear and unambiguous representation of what we are working with. If you don't define the__str__, __repr__ will be used by default.
Learn how you can create your own custom implementation for comparing classes with __eq__.
What is the difference between a method, and a function? Let's find out!
Having private and protected attributes / methods is very common in a lot of programming languages. Python doesn't really have that feature, but we can use certain naming conventions to achieve a similar result!
It's time we look at inheritance in Python and how it helps us save time in writing reusable code for classes.
A very strong introduction to what super() is in Python.
It's time we take a look at the differences between instance methods, class methods, & static methods.
What is an abstract method, And how can we use that?
What are protocols and how do they work in Python?
At this point we know what __init__ does. But what is __new__? And how can you compare that to __init__?
Python comes with a lot of built-in functionality that we should be aware. In the next few lessons we will be taking a good look at what that functionality is.
Let's look at the print() statement in a bit more detail.
Ever wanted to create a numbered list in Python? Well with enumerate, we can do just that!
Sometimes we get back huge decimal numbers, and sometimes we don't really care about having so much precision, so why not round them?
Ranges are actually a lot more powerful and efficient than they appear to be, let's take a look at them in more detail.
Understanding globals() can be very useful in Python.
The locals() function is a lot like the globals() except it only refers to the locals.
All() & any() are some very convenient functions in Python that allow to make boolean checks to entire lists. Let's find out how they work in this lesson!
Let's look at how we can check whether an object is a specified type using: isinstance().
Learn how you can use callable() in Python!
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.