Course Highlights
  • You will GAIN CONFIDENCE when asking your manager for a RAISE or going to any Junior or Intermediate Python Developer INTERVIEW.
  • You will ultimately GAIN REAL-LIFE SKILLS: Excel Automation, Database Automation, Data Analysis etc. No silly little games, no useless apps, no filler content!
  • You will MASTER all the Python 3 key concepts starting FROM SCRATCH. No prior Python knowledge is required.
  • You will get FREE NEW VIDEO LECTURES and RESOURCES regularly and learn the latest Python 3 concepts and use cases.
  • You will have MY FULL SUPPORT for every course-related question or suggestion, plus the help of the community.
  • You will have LIFETIME ACCESS TO COURSE UPDATES and new content, anytime, anywhere, on any device.
  • You will be able to apply for and get involved in most Python 3 PROJECTS.
  • You will be able to work with the Python interpreter and Python scripts.
  • You will be able to work with Python strings and string methods.
  • You will be able to work with Python lists, list methods and ranges.
  • You will be able to work with Python sets, set methods and frozensets.
  • You will be able to work with Python tuples and tuple methods.
  • You will be able to work with Python dictionaries and dictionary methods.
  • You will be able to work with Python control flow structures (if, for, while, break, continue, pass, exceptions, try-except-else-finally blocks).
  • You will learn everything about properly handling syntax errors and exceptions in Python 3.
  • You will be able to work with Python functions, namespaces and modules.
  • You will be able to work with Python file operations: create, read, write, append, truncate, close.
  • You will be able to work with Python patterns and regular expressions.
  • You will be able to work with Python classes, objects and inheritance.
  • You will be able to work with advanced Python tools (comprehensions, lambda functions, threading basics, iterators, generators, decorators).
  • You will be able to apply the Python 3 knowledge you get from this course in quizzes, coding exercises and real-life scenarios.
  • You will build a scientific, interactive calculator with a user menu and advanced math operations available.
  • You will be able to work with Microsoft Excel files and automate boring spreadsheet-related tasks using Python 3.
  • You will be able to work with PostgreSQL databases and automate boring database-related tasks using Python 3.
  • You will be able to work with network devices (switches/routers) and automate networking tasks using SSH.
  • You will be able to work with Pandas to perform data analysis operations on TXT, CSV, JSON, XLSX, HTML files and SQL databases.
  • You will be able to work with Bokeh to perform data visualization and generate line / bar / pie / range / stocks / candlesticks charts.
  • You will be able to work with Pytest to perform unit test automation, also learning advanced concepts like fixture functions or markers.
  • You will be able work with Requests, Pandas and BeautifulSoup to get, load and parse webpage content, perform web scraping tasks and build an Excel database.
  • You will learn all the basics of OOP, including classes, instances, constructors, attributes.
  • You will learn the core concept of inheritance, including multi-level and multiple inheritance.
  • You will learn to properly achieve polymorphism and how to use the method overriding concept.
  • You will dive into advanced concepts, like overloading, magic methods, abstract classes/methods.
  • You are going to build the necessary environment for using Django and developing web projects.
  • You are going to create and configure your first Django project - a blog application.
  • You are going to learn necessary concepts such as URLs, views, templates, forms, models.
  • You are going to access the admin section provided by Django and create a user to login into it.
  • You are going to learn to create simple tests and run them from the command line.
  • You are going to learn how to push the code to git (Gitlab), a version control system.
  • You are going to build the necessary environment for using Django Rest Framework and developing a REST API.
  • You are going to learn and practice concepts such as pre-commit hooks, TDD, GitHub actions and running tests.
  • You are going to learn and practice concepts such as models, APIView, serializers, generic views and filters.
  • You are going to learn how to implement permissions and authentication with permission classes and API keys.
  • You are going to learn to create simple tests and run them from the command line.
  • You are going to learn how to push the code to a remote repository, on GitHub.
  • You are going to build the necessary environment for using Django, Graphene and developing a GraphQL API.
  • You are going to build a simple social media GraphQL API using Python 3, Django 3 and Graphene.
  • You are going to learn the benefits of a GraphQL API versus a RESTful API.
  • You are going to learn how to integrate GraphQL inside the Django ecosystem.
  • You will get a Python 3 CHEAT SHEET filled with key concepts and examples.
  • You will get a Python 3 200+ PAGES E-BOOK for free, to keep learning offline.
  • You will learn 10 ways to earn money and build a portfolio with your Python skills.
  • You will get over 250 practice activities to solidify your knowledge - quizzes and exercises.
Curriculum

9 Topics
Welcome! Glad to have you on board!
What Will You Learn? What Benefits You Get From Taking This Course?
Just starting out in programming? Read this!
Get a Complete Learning Experience!
Quick Introductory Note
Watching the Course at the Best Resolution Possible
How to Ask Good Questions on Udemy
Join the PRIVATE DISCORD COMMUNITY!
Course FAQ

21 Topics
How to Install Python 3 on Windows
How to Install Python 3 on macOS
UPDATE! Python Versions
The Python Interpreter & IDLE in Windows
The Python Interpreter & IDLE in macOS
Python 3 Basics - Scripts in Windows
UPDATE! Saving a Python script in Notepad++
Python 3 Basics - Scripts in macOS
Python 3 - Reasons for the 'No such file or directory' error (or similar)
Coding Exercise - Write Your First Python Script
Coding Exercise Solution
Python 3 Basics - User Input
Notebook - User Input
Python 3 User Input - Quiz
Python 3 Basics - Variables
Notebook - Variables
Coding Exercise - Creating a Variable in Python 3
Coding Exercise Solution
Python 3 Basics - Keywords
Python 3 - Data Types
Python 3 Basics - Quiz

17 Topics
Why learn about each of Python's data types?
Python 3 Strings - Introduction
Python 3 Strings - Methods
Python 3 Strings - Operators & Formatting
Python 3 Strings - Formatting Using F-strings
Python 3 Strings - Slices
Python 3 Strings - Slicing Using a Step
Notebook - Strings
Strings - Quiz
Coding Exercise - Extracting a Character From a String
Coding Exercise Solution
Coding Exercise - Write a String Slice and Extract a Substring (Positive Indexes)
Coding Exercise Solution
Coding Exercise - Write a String Slice and Extract a Substring (Negative Indexes)
Coding Exercise Solution
Coding Exercise - Splitting a String by a Delimiter
Coding Exercise Solution

12 Topics
Python 3 Numbers - Math Operators
Notebook - Numbers and Math Operators
Numbers - Quiz
Coding Exercise - Raising a Number to a Power Using a Function
Coding Exercise Solution
Python 3 Booleans - Logical Operators
Notebook - Booleans and Logical Operators
Booleans - Quiz
Coding Exercise - Evaluate an Expression as Boolean False
Coding Exercise Solution
Coding Exercise - Evaluating Two Mathematical Expressions
Coding Exercise Solution

13 Topics
Python 3 Lists - Introduction
Python 3 Lists - Methods
Python 3 Lists - Slices
Notebook - Lists
Lists - Quiz
Coding Exercise - Slicing a List
Coding Exercise Solution
Coding Exercise - Add a New Element to a List
Coding Exercise Solution
Coding Exercise - Remove an Element From a List
Coding Exercise Solution
Coding Exercise - Sorting the Elements of a List
Coding Exercise Solution

13 Topics
Python 3 Sets - Introduction
Python 3 Sets - Methods
Python 3 Sets - Frozensets
Notebook - Sets and Frozensets
Sets - Quiz
Coding Exercise - Add a New Element to a Set
Coding Exercise Solution
Coding Exercise - Remove an Element from a Set
Coding Exercise Solution
Coding Exercise - Spot the Differences Between Two Sets
Coding Exercise Solution
Coding Exercise - Spotting the Common Elements of Two Sets
Coding Exercise Solution

13 Topics
Python 3 Tuples - Introduction
Python 3 Tuples - Tuples vs. Lists
Python 3 Tuples - Methods
Notebook - Tuples
Tuples - Quiz
Coding Exercise - Extract an Element From a Tuple (Positive Indexes)
Coding Exercise Solution
Coding Exercise - Extract an Element From a Tuple (Negative Indexes)
Coding Exercise Solution
Coding Exercise - Print a Tuple in Reversed Order Using Indexes
Coding Exercise Solution
Coding Exercise - Slicing a Tuple
Coding Exercise Solution

12 Topics
Python 3 Ranges - Introduction
Python 3 Ranges - Methods
Notebook - Ranges
Ranges - Quiz
Coding Exercise - Create a Range with a Positive Step
Coding Exercise Solution
Coding Exercise - Create a Range with a Negative Step
Coding Exercise Solution
Coding Exercise - Get the Index of a Range Element
Coding Exercise Solution
Coding Exercise - Slicing a Range. To slice or not to slice?
Coding Exercise Solution

14 Topics
Python 3 Dictionaries - Introduction
Python 3 Dictionaries - Methods
Python 3 Dictionaries - Updates in v3.6 and v3.7
Python 3 - Conversions Between Data Types
Notebook - Dictionaries and Conversions Between Data Types
Dictionaries - Quiz
Coding Exercise - Adding a New Key-Value Pair to a Dictionary
Coding Exercise Solution
Coding Exercise - Removing a Dictionary Element by its Key
Coding Exercise Solution
Coding Exercise - Check the Existence of an Element in a Dictionary
Coding Exercise Solution
Coding Exercise - Updating the Value for a Specific Key
Coding Exercise Solution

20 Topics
Python 3 Conditionals - If / Elif / Else
Notebook - If / Elif / Else Conditionals
Python 3 Loops - For / For-Else
Notebook - For / For-Else Loops
Python 3 Loops - While / While-Else
Notebook - While / While-Else Loops
Python 3 Nesting - If / For / While
Notebook - Nesting
Python 3 - Break / Continue / Pass
Notebook - Break / Continue / Pass
Python 3 - Exceptions
Python 3 - Try / Except / Else / Finally
Notebook - Try / Except / Else / Finally
Conditionals and Loops - Quiz
Coding Exercise - Evaluate the Result of an if/elif/else Code Block
Coding Exercise Solution
Coding Exercise - Evaluate the Result of an if/elif/else Code Block
Coding Exercise Solution
Coding Exercise - Evaluate the Result of an if/elif/else Code Block
Coding Exercise Solution

3 Topics
Python 3 - Fixing Syntax Errors
Python 3 - Fixing Exceptions
Handling Errors and Exceptions - Quiz

16 Topics
Python 3 Functions - Basics
Python 3 Functions - Arguments
Notebook - Functions - Basics
Python 3 Functions - Namespaces
Python 3 Modules - Importing
Python 3 Modules - Helpful Functions: dir() and help()
Notebook - Modules and Importing
Python 3 Modules - Installing a Non-Default Module in Windows
Python 3 Modules - Installing a Non-Default Module in macOS
Functions - Quiz
Coding Exercise - Write a Function That Prints Out a String
Coding Exercise Solution
Coding Exercise - Write a Function That Returns a Result
Coding Exercise Solution
Coding Exercise - Add the Missing Code to a Function
Coding Exercise Solution

15 Topics
Python 3 Files - Opening & Reading
Python 3 Files - Quick Note for Windows Users
Python 3 Files - Additional Way of Avoiding the Unicode Error
Python 3 Files - Writing & Appending
Python 3 Files - Closing. The "with" Method
Python 3 Files - Deleting File Contents
Python 3 Files - Access Modes Summary
Notebook - File Operations
File Operations - Quiz
Coding Exercise - Add the Missing Code for Reading a File
Coding Exercise Solution
Coding Exercise - Pick the Appropriate File Access Mode
Coding Exercise Solution
Coding Exercise - Pick the Appropriate File Access Mode Method and Index
Coding Exercise Solution

17 Topics
Python 3 Regex - match() & search()
Python 3 Regex - findall() & sub()
Python 3 Regex - Regular Expressions Summary
Notebook - Regular Expressions
Bonus Video: Special Sequences
Bonus Video: Sets of Characters
Bonus Video: OR in Regular Expressions
Bonus Video: split() & subn()
Bonus Video: Additional Regex Syntax Elements
Bonus Video: AttributeError: 'NoneType' object has no attribute
Regular Expressions - Quiz
Coding Exercise - Extract a Group Using the search() Method (Non-Greedy)
Coding Exercise Solution
Coding Exercise - Extract a Group Using the search() Method (Greedy)
Coding Exercise Solution
Coding Exercise - Replace a Character Class with a Certain Character
Coding Exercise Solution

10 Topics
Python 3 Classes - Objects
Python 3 Classes - Inheritance
Notebook - Classes and Objects
Classes - Quiz
Coding Exercise - Update an Object Attribute (version 1)
Coding Exercise Solution
Coding Exercise - Update an Object Attribute (version 2)
Coding Exercise Solution
Coding Exercise - Check if an Object Exists or Not
Coding Exercise Solution

29 Topics
Python 3 - List / Set / Dictionary Comprehensions
Notebook - List / Set / Dictionary Comprehensions
Coding Exercise - Write a List Comprehension
Coding Exercise Solution
Python 3 - Lambda Functions
Notebook - Lambda Functions
Coding Exercise - Write a Lambda Function
Coding Exercise Solution
Python 3 - map() and filter()
Notebook - map() and filter()
Coding Exercise - Filtering the Results of a Lambda Function
Coding Exercise Solution
Python 3 - Iterators and Generators
Notebook - Iterators and Generators
Coding Exercise - Create a Generator Object
Coding Exercise Solution
Python 3 - Itertools
Notebook - Itertools
Coding Exercise - Get the Odd Integers from a Range Using a Special Function
Coding Exercise Solution
Python 3 - Decorators
Notebook - Decorators
Coding Exercise - Write Your First Decorator
Coding Exercise Solution
Python 3 - Threading Basics
Notebook - Threading Basics
Python 3 - Coding Best Practices
Advanced Concepts - Quiz
You're Halfway There!

2 Topics
Python 3 - Cheat Sheet
Python 3 - 200+ Pages E-book

8 Topics
Planning the Application
Designing and Building the User Menu
Implementing Addition Subtraction Multiplication Division
Implementing Modulo Raising to a Power Square Root Logarithm
Implementing Trigonometric Functions: sin cos tan
Testing Each Function of the Application
Download the Code - Interactive Scientific Calculator
Creating Executable Files (.exe) from Python Scripts (.py)

15 Topics
Setting Up the Working Environment
Loading an Excel Workbook In Python and Creating/Removing Sheets
Notebook - Handling Workbooks
Getting General Information About a Sheet
Notebook - Sheet Information
Working with Sheet Cells Using Python
UPDATE! Change in cell.column in recent versions of openpyxl
Notebook - Cell Information
Working with Cell Styles Using Python
Notebook - Cell Styles
Cell Styles - Update on Colors
Download the Excel-Python Cheat Sheet
APPLICATION - Migrating Records from a Text File to an Excel Workbook
Download the Code - Excel Application
Automate Excel Tasks with Python 3 - Quiz

28 Topics
Installing the Database Server Software
UPDATE! Downloading and Installing PostgreSQL
Installing the Necessary Python Module
Creating a New Database Schema and User
UPDATE! Change in database connection via PSQL
Notebook - Creating a New Database Schema and User
Connecting Python to the Database
Notebook - Connecting Python to the Database
Creating Database Tables with Python
UPDATE! Handling the InFailedSqlTransaction exception
Notebook - Creating Database Tables with Python
Inserting Records Into a Table with Python
Notebook - Inserting Records Into a Table with Python
Updating Records Into a Table with Python
Notebook - Updating Records Into a Table with Python
Deleting Records From a Table with Python
Notebook - Deleting Records From a Table with Python
Querying the Database with Python
Notebook - Querying the Database with Python
Fetching Information From the Database with Python
Notebook - Fetching Information From the Database with Python
Committing and Rolling Back Transactions with Python
Notebook - Committing and Rolling Back Transactions
Download the PostgreSQL Syntax Cheat Sheet
Download the PostgreSQL-Python Cheat Sheet
APPLICATION - Migrating Records from a Text File to the Database
Download the Code - Database Application
Automate Database Tasks with Python 3 - Quiz

37 Topics
Network Setup Overview
Installing the Virtualization Software
Installing the Virtualization Software on Windows Linux macOS
Downloading & Installing the Network Device VM
Note about Arista vEOS versions
Signing Up to the Arista Software Download Portal
Importing the VM & Tweaking the VM Settings
UPDATE! vEOS First Boot and the ZeroTouch Feature
Connecting the Local PC to the Devices in Windows
Connecting the Local PC to the Devices in macOS
Necessary Switch/Router Configuration
Checking the SSH Configuration and Testing the Connectivity
UPDATE! Putty asking for Host Key / Password
Any Connection Issues? Check Out This Troubleshooting Checklist!
Planning the Application
Logical Flow Diagram
Checking IP File Validity
Notebook - Checking IP File Validity
Checking IP Address Validity
Notebook - Checking IP Address Validity
Checking IP Address Reachability
Notebook - Checking IP Address Reachability
Note about pinging in Windows vs. Mac OS / Linux
Checking Username/Password File Validity
Notebook - Checking Username/Password File Validity
Checking Command File Validity
Notebook - Checking Command File Validity
Establishing the SSH Connection
Notebook - Establishing the SSH Connection
Enabling Simultaneous SSH Connections
Notebook - Enabling Simultaneous SSH Connections
APPLICATION - Putting Everything Together
Download the Code - Network Application and Modules
Reading Device Configuration
Extracting Network Parameters
Configuring Multiple Devices Simultaneously
Automate Network Tasks with Python 3 - Quiz

16 Topics
Running Python Code - The Next Level: IPython and Jupyter Notebook
Notebook - IPython and Jupyter Notebook
Introduction to Pandas - Basic Operations
Notebook - Introduction to Pandas
Handling Files with Pandas - TXT CSV JSON XLSX
Notebook - Handling TXT CSV JSON XLSX Files with Pandas
Reading HTML Content from URLs and HTML Files with Pandas
Notebook - Reading HTML Content with Pandas
Indexing and Slicing Tables with Pandas
Notebook - Indexing and Slicing Tables with Pandas
Adding Updating Deleting Table Rows and Columns
Notebook - Adding Updating Deleting Table Rows and Columns
APPLICATION - Reading and Writing Data in PostgreSQL Databases Using Pandas
UPDATE! Preparing for testing the application
Download the Code - SQL Data Analysis Application
Automate Data Analysis with Python 3 - Quiz

18 Topics
Introduction to Bokeh
Bookmark These 3 Important Documentation Links
Creating a Basic Line Plot Based on Python Lists
UPDATE! BokehDeprecationWarning: 'legend' keyword is deprecated
Notebook - Creating a Basic Line Plot Based on Python Lists
Creating a Bar Plot Based on Excel Data
Notebook - Creating a Bar Plot Based on Excel Data
Creating a Pie Chart Based on CSV Data
UPDATE! Using 'legend_field' instead of 'legend'
Notebook - Creating a Pie Chart Based on CSV Data
Plotting Multiple Stock Prices Simultaneously
Notebook - Plotting Multiple Stock Prices Simultaneously
Plotting Bitcoin Prices as an Interactive Plot with a Range Tool
UPDATE! Code change according to a new website structure
Notebook - Plotting Bitcoin Prices as an Interactive Plot with a Range Tool
Plotting Bitcoin Prices as an Interactive Plot with Candlesticks
Notebook - Plotting Bitcoin Prices as an Interactive Plot with Candlesticks
Data Visualization with Bokeh and Python 3 - Quiz

17 Topics
Installing pytest and Writing Your First Test
Notebook - Introduction to pytest
Running Multiple Tests. Test Discovery Rules in Action
Notebook - Running Multiple Tests
Testing a Basic Script - Preparing the Test Bed
Download the Code for Testing
Fixture Functions
Notebook - Fixture Functions
Sharing a Fixture Instance & Fixture Finalization
Notebook - Sharing a Fixture Instance & Fixture Finalization
Parametrizing Fixtures
Notebook - Parametrizing Fixtures
Marking Test Functions Using Attributes
Notebook - Marking Test Functions Using Attributes
Marking Test Functions Using Custom Markers
Notebook - Marking Test Functions Using Custom Markers
Automate Unit Testing with Python 3 - Quiz

13 Topics
Installing the Necessary Modules
Notebook - Installing the Necessary Modules
Extracting and Parsing Web Content
Notebook - Extracting and Parsing Web Content
Tags Names and Attributes
Notebook - Tags Names and Attributes
Searching the Tree of HTML Tags: find() and find_all()
Notebook - Searching the Tree of HTML Tags: find() and find_all()
APPLICATION - Extracting the Product Names Links and Prices. Saving to Excel
Download the Code - Scraping Web Data and Saving to Excel
APPLICATION - Handling Website Pagination When Extracting Data
Download the Code - Handling Website Pagination When Extracting Data
Automate Web Scraping with Python 3 - Quiz

14 Topics
OOP vs. Functional Programming
Class vs. Object
Constructor Instance Attributes and 'self'
Encapsulation - Public Private and Protected
Class Attributes
Class vs. Static methods
Inheritance in OOP
Multi-level Inheritance
Multiple (Diamond) Inheritance and MRO
Polymorphism and Method Overriding
Operator Overloading and Magic Methods
Notebook - Most common magic methods
Abstract Classes and Methods
Object-Oriented Programming - Quiz

35 Topics
Update! Installing Python 3.9
Setting Up a Virtual Environment
Notebook - Setting Up a Virtual Environment
Installing Django 3
Notebook - Installing Django 3
Installing PyCharm Community Edition
Notebook - Installing PyCharm on MacOS
Bonus! WSL: Windows - Linux Subsystem
Notebook - WSL: Windows-Linux Subsystem
Building the Initial Setup - Quiz
Django Project & App Creation
Notebook - Django Project & App Creation
Explaining settings.py
Notebook - Sample settings.py for our project
Project Creation & Configuration - Quiz
URLs and Views Routing
Class Based Views over Function Based Views
Django Templates
Notebook - Django Templates
Models & Querysets
Django Forms
Notebook - Django Forms
URL Variables
Notebook - URL Variables
Model Views Templates & Forms - Quiz
The 'createsuperuser' Command and Logging to Django Admin
Register Models & Edit DB Entries from Django Admin
Download the Project
Django Admin - Quiz
Django Project Testing
Notebook - Writing tests in tests.py
Installing Git Bash and Pushing to Gitlab
Notebook - Git Bash
Gitlab Pipeline to Run Tests at Commit
Notebook - Gitlab Pipeline

23 Topics
Installing Git Bash
Notebook - Installing Git Bash
Installing PyCharm Community Edition
Notebook - Installing PyCharm on MacOS
Installing Django 3
Django Project & App Creation
Notebook - PyCharm & Django
Building the Initial Setup - Quiz
Setting Up Pre-commit Hooks
TDD & Running the First Test
Github Actions to Run the Tests
Notebook - Continuous Integration
Continuous Integration - Quiz
REST & Django Rest Framework
Expense Model
APIView
Serializers
Generic Views
Filters
Django Rest Framework - Quiz
Permission Classes
API Key Authentication & Final Project Version Download
Django Rest Framework - Quiz

20 Topics
GraphQL vs REST
Graphene
Building the Initial Setup - Quiz
Installation & Project Creation
Defining the Schema: Object Types and Query
Fetching Data: Resolvers
Notebook - Sample JSON Data (Users)
Changing Data: Inputs Payloads & Mutations
Adding More Data: User Posts
Notebook - Sample JSON Data (Posts)
GraphQL Concepts - Quiz
Installing Docker on Windows 10 Pro
Installing Docker on Windows 10 Home
Docker Files
Notebook - Dockerfile Content
Docker Build & Run
Notebook - docker-entrypoint.sh
Docker Compose
Notebook - docker-compose.yaml
Dockerize Django - Quiz

13 Topics
Extension notations and non-capturing groups
Extension notations and non-capturing groups - Notebook
Named groups and groupdict()
Named groups and groupdict() - Notebook
Positive lookahead assertions
Positive lookahead assertions - Notebook
Negative lookahead assertions
Negative lookahead assertions - Notebook
Positive lookbehind assertions
Positive lookbehind assertions - Notebook
Negative lookbehind assertions
Negative lookbehind assertions - Notebook
Extension Notations and Assertions - Quiz

4 Topics
Comparing File Contents (difflib)
Notebook - Comparing File Contents (difflib)
Argument Passing with sys.argv
Notebook - Argument Passing with sys.argv

3 Topics
Putting Your Skills to Work - Part 1
Putting Your Skills to Work - Part 2
Download the Presentation

3 Topics
Closing Thoughts
How to Get Your Certificate of Course Completion
Bonus Lecture

  Write a Review

Python Bootcamp: Learn, Code, Build

Go to Paid Course