Table of Contents
Introduction to Python
- Welcome to this Course!
- Overview of the Course Curriculum
- Our Python Coding Environment
- Writing the First Code! Variables and Printing
- Numbers in Python
- Calculating the Remainder of a Division
- Python Strings
- Python String Formatting
- Getting a User Input in Python
- Booleans and Comparisons in Python
- AND and OR in Python
- Lists in Python
- Tuples in Python
- Sets in Python
- Advanced Set Operations
- Python Dictionaries
- Length and Sum
- Joining a list
Python Fundamentals
- If Statements in Python
- While Loops in Python
- For Loops in Python
- Destructuring Syntax
- Iterating over Dictionaries
- Break and Continue
- The Else Keyword with Loops
- Finding Prime Numbers with For Loops
- List Slicing in Python
- List Comprehension in Python
- Comprehensions with Conditional Statements
- Set and Dictionary Comprehensions
- The Zip Function
- Functions in Python
- Arguments and Parameters
- Functions and Return Values in Python
- Default Parameter Values
- Lambda Functions in Python
- First Class and Higher Order Functions
Milestone Project 1
- Installing Python on your Computer
- Installing PyCharm on your Computer
- Creating the First PyCharm Project
- Setting up the PyCharm Font and Display Settings
- Milestone Project Brief
- Milestone Project Implementation
- Showing the User Movies
- Finding Movies and Retrieving Details
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
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
- Debugging with PyCharm
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
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
Type Hinting in Python
- Typing in Python
- Further Reading
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
- The enumerate() function
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 with Python
- Regular expressions
- Regex examples
- Regex in Python
- Introduction to logging in Python
- Logging to a File and Other Features
Web Scraping with Python
- 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
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
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
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
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
Interacting with APIs with 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
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
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
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
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
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 In order 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
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
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
Apply for Certification
https://www.vskills.in/certification/certified-python-developer