Master Python and OOP concepts and structure your programs like a professional
About This Video
Get to grips with basic and advanced Python topics
Discover best practices for writing professional-grade Python code
Build a solid foundation in Selenium, REST APIs, Tkinter, unit testing, and asynchronous programming
In Detail
With its increasing popularity in the last few years, the demand for Python skills in the job market is booming. Equipped with Python …
The Complete Python Course
Video description
Master Python and OOP concepts and structure your programs like a professional
About This Video
Get to grips with basic and advanced Python topics
Discover best practices for writing professional-grade Python code
Build a solid foundation in Selenium, REST APIs, Tkinter, unit testing, and asynchronous programming
In Detail
With its increasing popularity in the last few years, the demand for Python skills in the job market is booming. Equipped with Python skills, you can easily enter some of the most exciting industries, including data science, web applications, and home automation.
In this course, you’ll learn Python by building impressive applications. The course starts with an introduction to Python, covering the basics and the installation process. As you advance, you’ll understand all about the inner workings of Python and write professional-grade code to develop applications by following the principles of Python and object-oriented programming (OOP). Once you've got to grips with the fundamentals, you’ll delve into advanced Python concepts such as handling databases in Python, web development, and web scraping. You’ll also interact with APIs and learn advanced OOP concepts and GUI development with Tkinter. Toward the end, you’ll perform unit testing, learn about algorithms, data structures, and Python libraries, and end with a refresher on the major Python topics that’ll help you to encapsulate your learning so far.
By the end of this course, you’ll have mastered the Python skills needed to build robust and powerful applications.
Who this book is for
If you are new to programming and want to start by learning one of the most popular languages in the world or an experienced programmer looking to kick-start your Python journey, this course is for you. Python programmers who want to refresh their skills and tackle advanced topics such as algorithms and asynchronous programming will also find this course useful.
Chapter 4 : Object-Oriented Programming with Python
Intro to Object-Oriented Programming with Python
More about Classes and Objects
Parameter Naming in Python
Magic Methods in Python
Inheritance in Python
The @property Decorator
The @classmethod and @staticmethod Decorators in Python
More @classmethod and @staticmethod Examples
Chapter 5 : Errors in Python
Intro to Errors in Python
Built-in Errors in Python
Raising Errors in Python
Creating Errors in Python
Dealing with Python Errors
The On-success Block and Re-raising Exceptions
Handling User Errors
Debugging with PyCharm
Chapter 6 : Files in Python
Files in Python
Python Exercise: Copying Files
CSV Files with Python
JSON Files with Python
Using the “with” Syntax in Python
Importing Files
Python Relative Imports: Children
Python Relative Imports: Parents
Importing Errors and Running as a Python Script
Chapter 7 : Databases in Python and Milestone Project 2
Intro to Milestone Project 2
Milestone Project with Lists
Storing Books in Files
Using JSON instead of CSV
Intro to Databases in Python
Using SQLite in Python
Some Database Jargons
Creating Books Table Using Python
Inserting Books Using Python
SELECT Examples
Getting All Books
UPDATE and DELETE Statements
Filtering using the WHERE Clause
Finishing the Milestone Project
Ordering and Limiting
Developing the Context Manager in Python
Errors in Context Managers
Chapter 8 : Type Hinting in Python
Typing in Python
Further Reading
Chapter 9 : Advanced Built-in Functions in Python
Generators in Python
Python Generator Classes and Iterators
Iterables in Python
The Filter() Function in Python
The Map() Function in Python
Any() and All() Functions in Python
Chapter 10 : Advanced Python Development
Mutability in Python
Argument mutability in Python
Default values for parameters
Mutable default arguments (bad idea)
Argument unpacking in Python
Queues in Python
Some interesting Python collections
Timezones
Dates and time in Python
Timing Your Code in Python
Regular expressions
Regex examples
Regex in Python
Introduction to logging in Python
Logging to a file and other features
Logging to a file and other features
Chapter 11 : Web Scraping with Python
Markup Languages: The Structure of HTML Code
Understanding HTML with BeautifulSoup
More Complex HTML Parsing
Structuring Parsing Program Better
Splitting HTML Locators out of the Python Class
Understanding HTML with the Browser
Scraping the First Website with Python
Milestone Project 3: A Quote Scraper
Quotes Project 2: Structuring a Scraping App in Python
Quotes Project 3: Getting Locators
Quotes Project 4: Crafting a Quote Parser
Quotes Project 5: The Quotes Page
Quotes Project 6: Recap of the Project
Milestone Project 4: A Book Scraper + Application
Books Project 2: Recap of HTML Locators
Books Project 3: Creating Locators in Python
Books Project 4: Creating a Page
Books Project 5: Creating a Book Parser
Books Project 6: Writing an App File
Books Project 7: Sorting the Books
Books Project 8: Constructing a Menu
ASIDE: The Best Way to Write User Menus
Books Project 9: Getting Multiple Pages
Books Project 10: Multiple Pages in Python
Books Project 11: Getting the Page Count in Python
Books Project 12: Adding the Logging Module to a Python Project
A Word on Scraping Pages with JavaScript
Chapter 12 : Browser Automation with Selenium
Introduction to this Section
Review of Quotes Scraping Code
Downloading ChromeDriver
Using Chrome in Scraping Code
New Page Locators
Interacting with Drop-downs
Selecting Tags
Searching for Quotes
Encapsulating Logic More Simply
Adding Error Handling
Implicit and Explicit Waits in Selenium
Adding Waits to a Program Code
Chapter 13 : Asynchronous Python Development
The Dining Philosophers Problem
Processes and Threads
The Python Global Interpreter Lock (GIL)
Example: Threads in Python
Using Python concurrent.futures with the ThreadPoolExecutor
Don’t Kill Threads
Multiprocessing in Python
Using Python concurrent.futures and the ProcessPoolExecutor
Dealing with Shared State in Threads
Queuing in Threads with Shared State
Using Python Generators Instead of Threads
First Single-threaded Task Scheduler in Python
Yielding from Another Iterator in Python
Receiving Data Through Yield
The Async and Await Keywords
More explanations and examples
Asynchronous Scraper
Making the First Async Request in Python
Retrieving Multiple Pages Efficiently
Using the async_timeout for Security
Turning our Book Scraping Project async
HTTPS with Python and Mac OS X
Chapter 14 : Python on the Console and Managing Project Dependencies
Running Python in the Console
Running Python
What is a virtualenv?
Navigating the Terminal and Using virtualenv
Using pipenv
pipenv and virtualenv
Chapter 15 : Web Development with Flask
Setting up Project with Pipenv
First Flask Endpoint
Returning Information with Flask and Pythons
Rendering HTML with Flask and Python
Error Pages and Jinja2 Inheritance
Rendering Forms with Flask and Python
Accessing POST Form Data with Flask
Adding a Form in a Single Endpoint
Using Jinja2 For Loops to Create a Nice Homepage
Adding Website Navigation
Chapter 16 : Interacting with APIs in Python
Signing up for Openexchangerates
Getting All Exchange Rates from the API
Creating a Currency Exchange Library
Caching Functions with Functools
Performing TTLCache with Cachetools
Chapter 17 : Decorators in Python
A Simple Decorator in Python
Using Syntax
Functools Wraps in Python
Decorating Functions with Parameters
Decorators with Parameters
Functions that Accept Multiple Arguments
Using Generic Decorators for any Function
Chapter 18 : Advanced Object-Oriented Programming
Introduction to Multiple Inheritance with Python
Introduction to Abstract Base Classes (ABCs) in Python
The Usefulness of ABCs
The Relationship Between Abstract Base Classes (ABCs) and Interfaces
The Property Setter in Python
Chapter 19 : Graphical User Interface (GUI) Development with Tkinter
Setting up Tkinter
Hello World in Tkinter
Labels and Fields
Packing Components
Using Frames for Different Layouts
Starting the Text Editor Project
Tkinter Notebooks and Creating Files
Adding a Menu to an Application
Saving Files to a Disk
Opening Files
Binding Shortcuts in Tkinter
Checking Tabs for Unsaved Changes
Confirming Exit with Unsaved Changes
Closing Individual Tabs
Adding Another Menu
Adding a Permanent Scrollbar to the Text Area
Chapter 20 : Unit Testing with Python
Introduction to this Section
Testing Functions
Testing for Errors
Testing the Multiplication Function
Writing a Printer Class for Testing
Testing Classes
More Printer Tests
Testing External Libraries
Conclusion of this Section
Chapter 21 : Algorithms and Data Structures
Presentation: Queues, Stacks, and Complexity
Presentation: Binary Search
Presentation: Binary Trees
Presentation: Traversal of Binary Trees
Presentation: Adding Elements to a Binary Tree
Adding Elements to a Binary Tree in Python
Recursion and Inorder Traversal in Python
Finding Nodes in a Tree with Python
Deleting Nodes from a Binary Tree
Deleting Nodes in Code with Python
Deleting Nodes with Two Children in a Code
Testing a Binary Tree
Chapter 22 : Python Libraries
Python Libraries Overview
Using Pylint
Using Yapf
Sending E-mails with smtplib
Sending E-mails with Mailgun
Creating a Re-usable Mailgun Library
Sneak Peek: Integrated Development Environment (IDE) Setup
Chapter 23 : Python Reference/Refresher
Variables in Python
String Formatting in Python
Getting the User Input
Lists, Tuples, and Sets
Advanced Set Operations
Booleans in Python
If Statements in Python
The “in” Keyword
If Statements with the “in” Keyword
Loops in Python
List Comprehensions
Dictionaries
Destructuring Variables
Functions in Python
Function Arguments and Parameters
Default Parameter Values
Functions Returning Values
Lambda Functions in Python
Dictionary Comprehensions
Unpacking Arguments
Unpacking Keyword Arguments
Object-Oriented Programming in Python
Magic methods: str and repr
Class Methods and Static Methods
Class Inheritance
Class Composition
Type Hinting
Importing Files in Python
Relative Imports in Python
Errors in Python
Custom Error Classes
First-class Functions
Simple Decorators in Python
The “at” Syntax for Decorators
Decorating Functions with Parameters
Decorators with Parameters
Mutability in Python
Mutable Default Parameters
Start your Free Trial Self paced Go to the Course We have partnered with providers to bring you collection of courses, When you buy through links on our site, we may earn an affiliate commission from provider.
This site uses cookies. By continuing to use this website, you agree to their use.I Accept