The Complete Python Course in the Professional OOP Approach

The Complete Python Course in the Professional OOP Approach

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 26 Hours | 12.0 GB

The easiest way to learn Python in-depth and build complex, scalable programs! Master Python by making 10 big OOP apps!

What will you achieve with this course?

You will become a Python programmer if you complete this course. No matter your educational background or IQ, you will master Python because here, you will not learn Python by rote memorization but by actively problem-solving towards the tangible goal of creating real-world programs. Learning by doing is the most natural way to gain skills. Therefore, everyone can do it.

You will learn every Python concept, from the basic ones to the very advanced, by building real-world applications, so you not only learn how to use a Python component but also learn why and when to use it. In the course, you will build ten real-world programs in the object-oriented programming (OOP) way. You will build some of them with the instructor and others on your own.

Unlike other courses, this course also covers all the necessary tools and techniques that you need to become a professional Python programmer. These are Git and GitHub, debuggers, software design principles, writing highly organized code, code planning, code refactoring, SQL databases, and more.

You will have a lot of fun taking this course learning practical how-tos such as generating PDF reports with Python, controlling the computer and the mobile camera, taking photos with Python, creating web maps, processing images, web scraping, sending and scheduling automated emails, creating interactive web apps, building REST APIs, and even creating your own weather forecast Python package. This course is the most complete Python learning package you will find out there!

What is the OOP approach of programming that this course covers?

There are three approaches or paradigms to program with Python. They are the procedural, functional, and object-oriented programming (OOP) paradigms.

The OOP paradigm is the only one that will give you the skills to write clean and highly organized code, allowing you to easily plan and create sophisticated Python programs. Once you learn Python the OOP way, creating programs will be very easy, and this course will show how.

Even though you can write any Python program in any of the three paradigms, writing programs that are more than simple scripts in the functional or procedural paradigms will bite you back once the program starts to get larger. Therefore, the OOP paradigm is the paradigm that professional programmers use to make real-world applications. Moreover, when you learn OOP, you will naturally know the other two paradigms since OOP engulfs them.

In the course, you will learn a secret to plan and write any Python program easily, and that is only possible when you use OOP. All popular Python libraries and frameworks are written in the OOP paradigm, and to understand how they work, you need to understand OOP. So, if you want to go beyond making simple Python scripts, you need to learn Python the OOP way, and this course will teach you that.

What you’ll learn

  • Complete Python starting from zero!
  • Become a professional Python programmer able to program using the ultimate OOP approach!
  • Learn how to plan your Python programs before writing them!
  • Learn to write highly a organized modular code!
  • Learn to create professional real-world programs in Python!
  • Create 10 actual real-world Python applications!
  • Learn and apply proper design principles when programming in Python!
  • Learn to troubleshoot code issues using debuggers!
  • Learn to use Git to track your code changes!
  • Get a deep understanding of how Python works under the hood!
  • Create weather forecast webmaps with Python!
  • Generate PDF reports!
  • Create and manipulate images!
  • Control the computer and mobile camera!
  • Take photos from the computer or the mobile camera with Python and upload them to cloud services!
  • Build interactive web apps!
  • Send daily news by email and schedule automatic emails!
  • Build REST APIs!
  • Work with SQL databases!
  • Collect data via web scraping!
  • Learn to create desktop GUI programs!
  • Learn to create mobile apps!
  • Learn advanced core Python concepts such as class methods, static methods, abstract classes, etc.!
  • Learn code refactoring!
  • Learn the PEP8 Style Guide for Python code!
  • Learn to create Python packages!

+ Table of Contents

1 Introduction
2 Course Overview
3 How to Take the Course
4 What to Do If You Get Stuck
5 What IDE is Used in the Course
6 Setting up Python and the Python IDE

App 1 The Other Side of the World S1 Python Types and Abstraction
7 A Note For Non-Absolute Beginners
8 The Other Side of the World
9 Abstracting Real-World Objects in Python
10 Contact Me
11 Interaction Between Python Objects
12 Difference Between Methods and Functions
13 More on Abstraction and Interaction
14 Introducing Code Dictations Beta
15 How to Do Code Dictations
16 Dictation 1 – Dollars and Euros
17 Dictation 2 – Eggs
18 Feedback On Dictations
19 Decision Making
20 Using Third-Party Objects
21 The Nine Elements of Python
22 Syntactic Sugar

App 1 The Other Side of the World S2 Creating Your Own Types
23 Introduction
24 A Note
25 Creating New Types
26 Adding a Time Method
27 Question: Abstraction
28 Caution: Case Sensitivity
29 Implementing the Time Method
30 Implementing the Weather Method
31 Class Vs Object
32 Instance Methods vs Class Methods
33 Instance Variables vs Class Variables
34 Glossary of a Class

App 1 The Other Side of the World S3 Inheritance
35 Introduction
36 What Problem Does Inheritance Solve
37 Inheriting Methods
38 Inheriting Arguments
39 Displaying the Weather Forecast in the Popup Window
40 Inheritance FAQs

App 1 The Other Side of the World S4 Sequence Types
41 What Are Sequence Types
42 String Types
43 String Methods
44 String Magic Methods
45 String Formating
46 Slicing Sequences
47 Lists, Tuples, and Ranges
48 Practice Formatting the Popup Content
49 Extracting the Values for the Popup

App 1 The Other Side of the World S5 Iterating
50 Problem Statement
51 The Beauty of for-loops
52 Iterating with Multiple Variables

Tools & Techniques 1 Setting Up PyCharm and Getting File Resources
53 Section Introduction
54 Installing PyCharm on Windows
55 Installing PyCharm on Mac
56 Installing PyCharm on Linux
57 How to Use PyCharm
58 Important File Resources and Python Packages for the Rest of the Course

App 2 Flatmates’ Bill S1 Planning Phase
59 Preview of the Flatmates’ Bill App
60 Planning the App
61 Writing the Empty Classes

App 2 Flatmates’ Bill S2 Implementation Phase
62 Implementing the pays Method
63 PyCharm Tip
64 Generating a PDF Document
65 Implementing generate Method
66 Polishing the Code
67 Adding an Image to the Pdf Document
68 Changing the Font of the Text in the Pdf
69 Automatically View a PDF File

App 2 Flatmates’ Bill S3 Building an Interface
70 Three Kind of Interfaces
71 Building a CLI – The Input Function
72 Implementing the Rest of the Input Functions
73 Organizing the Code
74 Organizing the Files

App 2 Flatmates’ Bill S4 Deploying the App
75 What Does Deploy Mean
76 Setting up the Deployment Environment
77 Uploading the Files
78 Sharing the App

App 2 Flatmates’ Bill S5 App Improvements
79 A User Need For a New App Feature Arises
80 Sharing or Uploading Files to the Cloud
81 Making the Change in the App
82 Uploading the Changes to the Production Environment

App 3 Math Painter S1 Creating Images
83 Preview of the Math Painter App
84 How Python Handles Images
85 Creating an Image out of Nothing
86 Drawing Shapes in the Image

App 3 Math Painter S2 Planning Phase
87 Planning the App
88 Creating the Empty Classes

App 3 Math Painter S3 Implementing the Methods
89 Implementing the Methods

App 3 Math Painter S4 Building the User Interface
90 Building the CLI Interface

App 4 Webcam Photo Sharer S1 Introductory App – Photo Searcher
91 Introduction
92 How the Introductory App Looks Like
93 The Four Main Objects of Kivy
94 Building the Frontend
95 Changing the Size of the Widgets
96 Setting an Image Dynamically
97 Getting an Image from the Web Given a Search Query
98 Downloading an Image from an URL
99 Implementing the Search Image Functionality
100 Best Coding Practices

App 4 Webcam Photo Sharer S2 Planning Phase
101 Preview of the Webcam Photo Sharer App
102 Designing the Frontend
103 Designing the Object Types
104 Creating the Empty Classes

App 4 Webcam Photo Sharer S3 The Camera Screen
105 Creating the Camera Screen
106 Starting the Camera
107 Stopping the Camera
108 L4 – Capturing a Photo from the Camera

App 4 Webcam Photo Sharer S4 The Image Screen
109 Building the Image Screen
110 Showing the Image in the Screen Image
111 Uploading and Creating a Sharable Link of the Image File
112 Implementing the Copy Link Button
113 Implementing the Open Link Button

App 4 Webcam Photo Sharer S5 Improving the Appearance of the App
114 Improving the Size of the Widgets
115 Changing the Color and Shape of the Buttons
116 Changing the App Background Color

App 5 Flatmates’ Bill Web App S1 Planning Phase
117 What the App Is About
118 The Design of the Webapp
119 The Classes
120 Writing the Empty Classes

App 5 Flatmates’ Bill Web App S2 Implementation Phase
121 Implementing the Home Page
122 Completing the Home Page
123 Implementing the Bill Form Page
124 Implementing the Web Form
125 Implementing the Form Submit Button
126 Processing the User Data
127 Default Data for the Input widgets
128 Completing the Results page

App 5 Flatmates’ Bill Web App S3 Making the App Visually Appealing
129 Creating and Linking the CSS File
130 Completing the Visual Changes

App 5 Flatmates’ Bill Web App S4 Deploying the App
131 Deploying the App on the Python Anywhere Servers

App 5 Flatmates’ Bill Web App S5 App Improvements
132 Showing the Results Under the Form

App 6 Calories App S1 Planning Phase
133 Preview of the Calories App
134 Planning the App
135 The Empty Classes

App 6 Calories App S2 The Webscraping Part
136 Making a URL Request with Python
137 Extracting the Temperature Value from the Webpage

App 6 Calories App S3 Implementing the methods
138 Implementing the Calorie Class
139 Implementing the Temperature Class
140 Implementing the Flask Classes

Tools & Techniques 2 Writing Readable Code
141 Introduction
142 What is the PEP 8 Style Guide
143 PEP 8 Guidelines

Tools & Techniques 3 Debugging a Program
144 Introduction
145 What is Python Really
146 The Parsing Phase and Syntax Errors
147 Exceptions
148 Tracebacks with Multiple Errors
149 Debugging with Print Functions
150 Using the Debugger Tool
151 The Step Into My Code and Step Over Buttons

App 7 Automated Emails S1 Planning Phase
152 Preview of the Automated Emails App
153 Planning the App
154 Writing the Empty Classes

App 7 Automated Emails S2 Getting News with Python
155 Getting All the News of Today
156 Getting News for Certain Dates
157 Getting a Particular News
158 Constructing a String of News Titles and Urls
159 Implementing the News Feed Class

App 7 Automated Emails S3 Sending out Emails
160 Preparing the Tools
161 Sending a Single Email
162 Sending Batch Emails
163 Dynamic Timestamps for Today and Yesterday
164 Running the Code at a Certain Time

Tools & Techniques 4 Code Refactoring
165 What is Code Refactoring
166 Refactoring Our Code

Tools & Techniques 5 Git S1 What is Git
167 What is Git
168 The Benefits of Git Illustrated

Tools & Techniques 5 Git S2 Working with the Local Repo
169 Creating a Git-Enabled PyCharm Project
170 Add and Commit
171 Commit History
172 Git Reset
173 Git Revert
174 Unversioned Files and .gitignore

Tools & Techniques 5 Git S3 Working with the Remote Repo
175 Pushing the Changes to the Remote Repo
176 Cloning a Remote Repo
177 Understanding the requirements.txt File

App 8 Instant Dictionary Web App and API S1 Planning Phase
178 Planning the App
179 Creating the Empty Classes

App 8 Instant Dictionary Web App and API S2 Implementing Definition Class
180 Implementing the Definition Class

App 8 Instant Dictionary Web App and API S3 Interactive Webpage Frontend
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

App 8 Instant Dictionary Web App and API S4 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

App 8 Instant Dictionary Web App and API S5 Making the 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 Instant Dictionary API S1 Understanding an API
204 Understanding an API

App 9 Instant Dictionary API S2 Building the API
205 Getting the Request
206 Definitions as API response
207 Returning a JSON Response
208 Writing the API Documentation

App 9 Instant Dictionary API S3 Using the API
209 Using the API

Tools & Techniques 6 Databases
210 What is a Database and Why Use Them
211 Creating a Database and a Table in DB Viewer
212 Adding Records in DB Viewer
213 Creating a Database Table with Python
214 Inserting Records to a Table
215 Selecting Records
216 Updating Records
217 Deleting Records
218 Query Parameters

App 10 Cinema Booking App S1 Planning Phase
219 Preview of the Cinema Booking App
220 Planning the App

App 10 Cinema Booking App S2 Implementation Phase
221 The Empty Classes
222 The Complete Code

Bonus Optional App (Python Library) Creating a Weather Forecast Library
223 Introduction
224 Preview of the library
225 The Library Structure
226 Preparing the Input Data
227 Creating the Weather Class
228 Getting Weather Forecast by Coordinates
229 Raising Errors When Arguments Are Not Passed
230 Cleaning the Data
231 Providing Simplified Weather Data
232 Raising Errors When Data Are Incorrect
233 Adding Docs to Your Library
234 Preparing and Testing the Library
235 Uploading the Library to PyPi
236 Making and Uploading a Library Change