Intermediate to Advanced Python with 10 OOP Projects

Intermediate to Advanced Python with 10 OOP Projects

English | MP4 | AVC 1920×1080 | AAC 44KHz 2ch | 240 lectures (23h 23m) | 10.63 GB

Everything you need to know to become an expert in Python including OOP, Git, APIs, databases, deployment, PEP8 and more

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.

What you’ll learn

  • Master Object-Oriented Programming (OOP) in Python
  • Build 10 Python applications using object-oriented programming
  • Learn databases, APIs, package development, Git, code refactoring, debugging, and more
  • Build three advanced Python projects on your own
  • Learn to write high quality code following the PEP8 Style Guide
  • Learn how to deploy applications making them accessible to users globally
Table of Contents

Course Introduction
1 How This Course Will Make You a Pro
2 What is the Best Python IDE
3 Daily Python Projects
4 Link to Download the IDE
5 Preparing a Professional Coding Environment
6 How to Get Help When Stuck

Application 1 Section 27 Geometry Game
7 Welcome to App 1

Introduction to Object Oriented Programming OOP
8 Find the Objects in This Code Assignment
9 Python Language Elements from a Deep View
10 What is a Python Object

Creating and Using Python Classes
11 Geometry Game Demonstration
12 Find the Objects Assignment
13 Answer The Objects in the Code
14 The Steps of Writing a Professional Program
15 Creating a Python Class
16 Using the Created Class to Create Objects
17 What is self
18 More About self
19 Creating Class Methods
20 The init Method Vs Normal Methods
21 Add a distance Method Assignment
22 Answer Adding a distance Method

More Practice with Classes
23 Creating a Second Class for our Program
24 Wrapping Things Up
25 Add a New Feature to the Program Assignment
26 Answer Adding a New Feature to the Program
27 Code Improvement

Setting up PyCharm for the Next Apps
28 Section Introduction
29 Installing PyCharm on Windows
30 Installing PyCharm on Mac
31 Installing PyCharm on Linux
32 How to Use PyCharm
33 IMPORTANT File Resources and Python Libraries

Inheritance in OOP
34 Problem Statement
35 Investigating the Code
36 Inheriting from the Rectangle Class
37 Adding Methods to the Child Class
38 Wrapping Things Up
39 Inheriting from the Point Class

Application 2 Section 812 Flatmates Bill Sharing
40 Welcome to Application 2

Planning the Application in OOP Style
41 Installing the Libraries for App 2
42 Preview of The Flatmates Bill App
43 Showcasing an App
44 Planning the App
45 Writing the Empty Classes
46 Note

Implementing the Application
47 Implementing the pays Method
48 PyCharm Tip
49 Generating a PDF Document
50 Implementing the generate Method
51 Polishing the Code
52 Adding an Image to the PDF Document
53 Changing the PDF Text Font
54 Automatically View a PDF File

Building a Command Line Interface CLI
55 Three Kinds of Interfaces
56 Building a CLI The Input Function
57 Implementing the Rest of the Input Functions
58 Organizing the Code
59 Organizing the Files

Deploying a CLI Application on Replit Optional
60 Note
61 What Does Deploying Mean
62 Setting up the Deployment Environment
63 Uploading the Project Files
64 Sharing the App
65 Feature Requests from Users
66 Uploading Files to the Cloud
67 Implementing the Change in the App
68 Uploading the Changes to Production

OOP Exercises
69 Daily Python Projects

Application 3 Section 1418 Math Painter
70 Welcome to Application 3

Creating Images with Python
71 Installing the Libraries for App 3
72 Preview of the Math Painter App
73 How Python Handles Images
74 Creating an Image out of Nothing
75 Drawing Shapes in the Image

Planning the Math Painter App
76 Planning the App
77 Creating the Empty Classes

Implementing Class Methods
78 Implementing the Methods

Building the CLI Interface
79 Building the CLI Interface

Introduction to Graphical User Interfaces with Kivy
80 Installing the Libraries for App 4
81 How the Introductory App Looks Like
82 The Four Main Objects of Kivy
83 Building the Frontend
84 Changing the Size of the Widgets
85 Setting an Image Dynamically
86 Getting an Image from the Web Given a Search Query
87 Downloading an Image from a URL
88 Implementing the Search Image Functionality
89 Best Coding Practices

Application 4 Section 2124 Webcam Photo Sharing App
90 Welcome to Application 4

Planning the App
91 Preview of the Webcam Photo Sharer App
92 Note
93 Designing the Frontend
94 Designing the Object Types
95 Creating the Empty Classes

Building the Camera Screen Interface
96 Creating the Camera Screen
97 Starting the Camera
98 Stopping the Camera
99 L4 Capturing a Photo from the Camera

Building the Image Screen Interface
100 Building the Image Screen
101 Showing the Image in the Screen Image
102 Uploading and Creating a Sharable Link of the Image File
103 Implementing the Copy Link Button
104 Implementing the Open Link Button

Improving the Appearance of the Interface
105 Improving the Size of the Widgets
106 Changing the Color and Shape of the Buttons
107 Changing the App Background Color

Application 5 Section 2531 Flatmates Bill Web App
108 Welcome to Application 5

Planning the App
109 Installing the Libraries for App 5
110 What the App Is About
111 The Design of the Webapp
112 The Classes
113 Writing the Empty Classes

OOP Exercises
114 Tip Dont Hard Code

Flask Webpages Forms and Widgets
115 Implementing the Home Page
116 Completing the Home Page
117 Implementing the Bill Form Page
118 Implementing the Web Form
119 Implementing the Form Submit Button
120 Processing the User Data
121 Default Data for the Input widgets
122 Completing the Results page

Adding CSS to a Web App
123 Creating and Linking the CSS File
124 Completing the Visual Changes

Deploying a Flask Web App
125 Deploying the App on the PythonAnywhere Servers

Improving an App
126 Showing the Results Under the Form

Application 6 Section 3335 Calories App
127 Welcome to Application 6

Planning the App
128 Installing the Libraries for App 6
129 Preview of the Calories App
130 Planning the App
131 The Empty Classes

Web Scraping the Input Data
132 Making a URL Request with Python
133 Extracting the Temperature Value from the Webpage

Implementing Web Scraping Code in Class Methods
134 Implementing the Calorie Class
135 Implementing the Temperature Class
136 Implementing the Flask Classes

Writing HighlyReadable Code
137 Introduction
138 What is the PEP 8 Style Guide
139 PEP 8 Guidelines

Debugging a Program using a Debugger
140 Introduction
141 Program Execution Phases Under the Hood
142 The Parsing Phase and Syntax Errors
143 Exceptions
144 Tracebacks with Multiple Errors
145 Debugging with Print Functions
146 Using the Debugger Tool
147 The Step Into My Code and Step Over Buttons

Application 7 Section 3941 Automating Emails
148 Welcome to Application 7

Planning the App
149 Installing the Libraries for App 7
150 Preview of the Automated Emails App
151 Planning the App
152 Writing the Empty Classes

Getting News With Python
153 Getting All the News of Today
154 Getting News for Certain Dates
155 Getting a Particular News
156 Constructing a String of News Titles and Urls
157 Implementing the News Feed Class

Sending out Emails with Python
158 Preparing the Tools
159 Sending a Single Email
160 Sending Batch Emails
161 Dynamic Timestamps for Today and Yesterday
162 Running the Code at a Certain Time

Code Refactoring
163 What is Code Refactoring
164 Refactoring Our Code

Introduction to Git
165 What is Git
166 The Benefits of Git Illustrated

Working with a Local Repo in Git
167 Creating a GitEnabled PyCharm Project
168 Add and Commit
169 Commit History
170 Git Reset
171 Git Revert
172 Unversioned Files and gitignore

Working with a Remote Repo on GitHub
173 Pushing the Changes to GitHub
174 Cloning a GitHub Repository
175 Using the requirementstxt File

Application 8 Section 4751 Instant Dictionary Web App
176 Welcome to Application 8

Planning the App
177 Installing the Libraries for App 8
178 Planning the App
179 Creating the Empty Classes

Implementing the Definition Class
180 Implementing the Definition Class

Building an Interactive Webpage
181 What We Will Build
182 A Basic Webpage
183 Styling the Webpage
184 Adding More Components to the Webpage
185 Putting Components in a Grid
186 Handling Events
187 More Mouse Events
188 Using the Quasar Interface

Making OOP Web Apps
189 The Problem with the Current Project Structure
190 Making the About Page
191 Tip Inheritance vs Composition
192 Making the Home page
193 Making the Dictionary Page
194 Time Bomb in the Code
195 Getting Output in the Output Div
196 Getting the Definitions in the Output Box
197 Getting Output Instantly

Making a Navigation Menu
198 The Goal of This Section
199 Making the Layout
200 Adding the Menu Items
201 Making a Default Layout class
202 Making the Routes Automatic
203 Creating an Abstract Class

App 9 Section 5355 Building an API
204 Welcome to Application 9

Understanding an API
205 Installing the Libraries for App 9
206 Understanding an API

Building the API
207 Getting the Request
208 Definitions as API response
209 Returning a JSON Response
210 Writing the API Documentation

UsingRequesting an API
211 Using the API

Databases
212 What is a Database and Why Use it
213 Creating a Database and a Table in DB Viewer
214 Adding Records in DB Viewer
215 Creating a Database Table with Python
216 Inserting Records to a Table
217 Selecting Records
218 Updating Records
219 Deleting Records
220 Query Parameters

Planning the API
221 Installing the Libraries for App 10
222 Preview of the Cinema Booking App
223 Planning the App

Implementing the API Code
224 The Empty Classes
225 The Complete Code

Bonus Application 11 Building and Publishing a Python Package
226 Introduction
227 Demo of the Package
228 The Library Structure
229 Preparing the Input Data
230 Creating the Weather Class
231 Getting Weather Forecast by Coordinates
232 Raising Errors When Arguments Are Not Passed
233 Cleaning the Data
234 Providing Simplified Weather Data
235 Raising Errors When Data Are Incorrect
236 Adding Docs to Your Library
237 Preparing and Testing the Library
238 Uploading the Library to PyPi
239 Making and Uploading a Package Change
240 Bonus Lecture

Homepage