Are you ready to elevate your Python skills to the next level and become a proficient Python developer? Look no further. Our comprehensive course is designed to transform you into a Python pro by guiding you through the creation of 10 advanced Object-Oriented Programming (OOP) applications. As we code real-world programs, you will learn advanced Python concepts and also learn how to use professional software development tools and techniques such as Git, software design principles, code refactoring, advanced debugging, APIs, and much more.
Why Enroll in This Course?
Are you ready to elevate your Python skills to the next level and become a proficient Python developer? Look no further. Our comprehensive course is designed to transform you into a Python pro by guiding you through the creation of 10 advanced Object-Oriented Programming (OOP) applications. As we code real-world programs, you will learn advanced Python concepts and also learn how to use professional software development tools and techniques such as Git, software design principles, code refactoring, advanced debugging, APIs, and much more.
Why Enroll in This Course?
Master OOP Concepts: Delve into the fundamentals of Object-Oriented Programming and understand how to create robust, modular, and scalable Python applications.
Hands-On Practice: Gain practical experience by building 10 real-world applications, starting with the Geometry Game and progressing to complex projects like the Flatmates' Bill Sharing, Math Painter, Webcam Photo Sharer, Flatmates' Bill Web App, Calories App, Automated Emails, Instant Dictionary Web App & API, and the Cinema Booking App.
PyCharm Proficiency: Learn how to efficiently use the PyCharm IDE, setting up projects, and leveraging its powerful features for streamlined development.
In-Depth Application Development: Go beyond basics as you explore topics like inheritance, building user interfaces, web scraping, deploying applications, working with APIs, and databases, and even creating your own Python package.
Real-World Deployment: Understand the process of deploying your applications, making them accessible to users globally, and handling feature requests and updates.
Professional Software Tools and Techniques: Learn how to use tools that professional developers use such Git, Figma, debuggers, etc., and learn software development techniques to write professional code such as software design principles, refactoring, writing organized code, etc.
Bonus Content: As a bonus, we've included an extra module on creating a Weather Forecast Package, providing you with a valuable skill set to develop and publish your Python libraries.
What You'll Accomplish:
Build a Strong Foundation: Master Python from the ground up, learning essential concepts that will make you proficient in writing clean, efficient, and maintainable code.
Develop 10 Real-World Applications: Gain practical experience by building diverse applications, ensuring you can confidently tackle any programming challenge.
Understand OOP Principles: Grasp advanced Object-Oriented Programming principles, enabling you to design and implement scalable and modular software solutions.
Become a Python Pro: Transform into a skilled Python developer, ready to take on complex projects and contribute to the world of software development.
Enroll now and embark on a journey to becoming a Python expert. Whether you're a beginner looking to solidify your Python skills or an experienced developer aiming to enhance your proficiency, this course is tailored for you. Join us and unlock the full potential of Python development.
Get to know the course content and what you will achieve by completing this course.
Learn about the different Python IDEs and how to choose the one that works the best for you.
Inside you will find the direct link to access the IDE.
Let us have a short tour of the IDE we will use for this course.
Try to analyze the code shown on the screen and try to spot the Python objects of this small program.
The Python language is broad, but when you learn to identify the category in which any possible language element falls, you have a clear overview of how the entire Python language functions.
Let us answer the biggest question in Python programming.
Here is how the object-oriented programing game will look like on the frontend when completed.
Can you try to spot the Python objects in this snippet of code?
Here is the list of objects that were inside the previous code.
Learn about the steps you should take when developing a Python program.
Finally, here is how to create a Python class.
Learn how to create object instances out of your custom classes.
Learn the meaning of the "self" parameter and what role "self" plays inside a Python class.
Let us go a bit deeper into the use of "self" in object-oriented programming.
Learn how to create methods for your classes.
Learn about the difference between the special "__init__" method and other methods that a Python class might have.
Your mission in this assignment is to add a "distance" method that calculates the distance between point objects.
Here is the solution from the instructor to the "distance" method problem.
Let us create more classes for our program.
Here is an overview of the syntax and terminology of Python classes.
Your mission here is to add a feature to the program while keeping the program elements decoupled.
Here is the solution of the instructor on the new program feature.
Let us change something in the code to improve it.
You are not a beginner anymore. Let us now switch from our beginner-friendly IDE to a very powerful IDE.
Here you will find the instructions on how to set up PyCharm on Windows operating systems.
Here you will find the instructions on how to set up PyCharm on MacOS operating systems.
Here you will find the instructions on how to set up PyCharm on Linux operating systems.
Now that we have installed PyCharm, let us learn how to use it to develop Python applications.
In this important video, you will be given access to the file resources and third-party packages used in the course from this point forward.
You will be introduced to the problem we want to solve and later learn how inheritance will solve that problem.
You will familiarize yourself with the library we will use to enrich the child class that inherits from the parent class.
Learn exactly how you can inherit a class from another class in Python.
Learn how to add more methods to your child class to extend its functionality.
Here is a summary of what inheritance is about.
Let us practice inheritance even further by inheriting from the Point class.
Let's make sure we have the necessary third-party Python libraries for this project.
Let us see what the app looks like and what it does before we build it.
A guide on how to share the app with friends or colleagues.
It is crucial to plan the program before typing in any code. In this video, you will learn a secret technique for easily planning a program before writing it.
Once we have a plan, we can start typing in some empty classes in our code to have an organized layout, which we can then easily develop further.
A quick note about argument names.
Let us write the code inside our currently empty "pays" method.
Here is a useful IDE plugin that may immensely help your understanding of how your Python program is working under the hood.
Do you need to generate ten thousand PDF reports in a split second? Python has you covered, and this video will show you how.
Let us write the code inside the "generate" method to let Python produce the PDF file.
Let us improve our code's layout slightly to make it easier to run and use the program.
Learn how to add images to PDF documents.
Let us change how the PDF document looks like by improving its text font.
Learn how to instruct your Python program to open a PDF document once it has been generated.
How a program interacts with the user is an essential aspect of programming. Here, you will learn about the most popular user interfaces you can build for your Python programs.
Learn how to build a CLI (Command-Line Interface) for your Python program.
Let us finish the command-line interface of our Python program.
Every once in a while, your Python code may need some housekeeping to keep it neat and organized.
Often a Python program consists of multiple Python files. Here you will learn how to organize the program files.
A note for students about this section.
Once you create a Python program on your computer, you might have to deploy it to run on a live-server. Here we talk about that program deployment.
Let us optimize our Python program to make it ready for deployment.
Here we will upload our project files into the live-server so that our Python program can run on the server.
Now that we have deployed our Python program, we can share it with the world.
The development of a program never ends. Here we discuss creating a new feature for our program based on a user feature request.
Here we will implement in our program the new sharing feature that we build.
Now, it is time to connect the newly built feature with our existing codebase.
Finally, we are ready to apply the changes to our Python program in production.
Let's see how the app you are expected to build for this student project will look like.
Python can do many types of image processing. Here you will learn the theory behind how Python handles and processes images.
Let's have some fun by instructing Python to create an image out of a grid of numbers.
Learn how to edit images using Python code.
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.