Complete Python Programming Course

Python is a powerful and flexible object-oriented scripting language that is designed for ease of use and enhanced productivity. In this training course, you gain the skills to achieve rapid development cycles, faster time-to-market, and lower cost of maintenance by developing applications using Python’s language features, standard library modules, and third-party software packages. Learn Python for Beginners for  Machine Learning, Programming, Data Science, Coding & More

  • Introduction To The Course
  • jupyter notebook using Anaconda
  • Python for Window
  • Installing jupyter notebook using Anaconda for Windows
  • Python for Mac
  • Install jupyter notebook using for Mac
  • Python for Linux
  • Install jupyter notebook using for Linux
  • Configuring jupyter notebook using - WINDOWS, MAC and LINUX
  • Further configuration of jupyter notebook using.
  • Basic Linux Command
  • Introduction
  • Our First Python Program
  • Printing in Python
  • Printing text
  • Printing the result of a calculation
  • Strings in Python
  • The Escape Character
  • Printing tabs
  • More on Escape Characters in Strings
  • Variables and Types
  • Python is a Strongly Typed Language
  • Numeric Data Types in Python
  • Numeric Operator
  • Expressions
  • Integer division
  • Operator Precedence
  • The str String Data Type
  • Negative Indexing in Strings
  • Slicing
  • Slicing with Negative Numbers
  • Using a Step in a Slice
  • Slicing Backwards
  • Challenge Solution and Slicing Idioms
  • String Operators
  • String Replacement Fields
  • String Formatting
  • f-strings
  • Python 2 String Interpolation
  • Section Summary
  • The Basics of Python
  • Introduction to Blocks and Statements
  • if Statements
  • elif
  • Using a Debugger in IntelliJ or Pycharm
  • More on if, elif and else
  • if, elif, and else in the Debugger
  • Using if with strings
  • Simple condition
  • Adding a Second Guess
  • Conditional Operators
  • Challenge Solution
  • Using and, or, in Conditions
  • Simplify Chained Comparison
  • Boolean Expression True and False
  • Truthy Values
  • in and not in
  • if Challenge
  • Solution to if Challenge
  • for loops
  • Stepping through a for loop
  • for loops Extracting Values from User Input
  • Extracting capitals
  • Iterating Over a Range
  • For loop
  • More About Ranges
  • For loop with step
  • Nested for loops
  • continue
  • break
  • Initialising Variables and None
  • while loops
  • More on while loops
  • Break in a while loop
  • Break
  • Continue
  • The Random Module and Import
  • Challenge Solution
  • Binary Search
  • Hi Lo Game
  • Pass Statement and Complete the Hi Lo Game
  • Testing the Hi Lo Game
  • Augmented Assignment
  • augmented assignment in a loop
  • PEP8: The Python Style Guide
  • Refactoring Code
  • else in a loop
  • else in the Hi Lo Game
  • Conditional Debugging
  • Another else Example
  • Section Summary and Challenge
  • Section Challenge Solution
  • Optional Extra Challenge Solution
  • Changing the Condition
  • Flow Control Quiz
  • Introduction to Sequence Types
  • Lists
  • Immutable Objects
  • Mutable Objects
  • Binding Multiple Names to a List
  • Common Sequence Operations
  • Operations on Mutable Sequences
  • Appending to a List
  • Mini Challenge Solution
  • Iterating Over a List
  • The enumerate Function
  • Improving our Code
  • Adding items to lists
  • Removing Items from a List
  • Sorting Lists
  • Built-in Functions
  • Sorting Things
  • Case-Insensitive Sorting
  • Creating Lists
  • Replacing a slice
  • Deleting Items from a List
  • Safely removing values from a list
  • Removing the High Values
  • Test, Test and Test. Then Test Again!
  • Testing the Program
  • Removing Items from a List Backwards
  • The Reversed Function
  • Algorithms Performance
  • Summary so far
  • Nested Lists & Code Style
  • Processing Nested Lists
  • Solution to nospam Challenge
  • Function Signatures
  • print revisited
  • The join Method
  • The split Method
  • Solution to Mini Challenge
  • The Magical Adder
  • Tuples
  • Tuples are Immutable
  • Unpacking a Tuple
  • Practical uses for Unpacking Tuples
  • More Unpacking
  • Nested Tuples and Lists
  • Solution to Unpacking Challenge
  • Nesting Further
  • Nested Data Structures
  • Nested Indexing
  • Nested indexing
  • Simple Jukebox - Demonstration
  • Simple Jukebox - Importing Data
  • Simple Jukebox - The Code
  • Constants in Python
  • Finishing the Code
  • Challenge
  • Challenge Solution
  • Summary
  • Introduction
  • Defining a function
  • Program flow when calling a function
  • Parameters and arguments
  • Debugging with parameters
  • Palindromes
  • Palindrome challenge solution
  • Sentence challenge solution
  • Functions calling functions
  • Returning values
  • get_integer Challenge solution
  • Sum even or odd numbers in a range
  • Returning None
  • Functions that perform actions
  • Handling invalid arguments
  • width challenge solution
  • Default parameter values
  • Keyword arguments
  • Docstrings
  • Writing a Docstring
  • How professional is that!
  • Solution to Docstrings challenge
  • Fibonacci Numbers
  • Writing a fibonacci function
  • Function annotations and type hints
  • Function annotations with default values
  • Solution to banner_text Docstring challenge
  • A history lesson
  • Printing in colour
  • Running your program like a user
  • Windows Only - Installing pre-release version of colorama
  • colorama module and virtual environments
  • Activating a virtual environment
  • A function to test our HiLo game
  • Counting correct guesses
  • Fizz Buzz
  • Playing Fizz Buzz
  • Playing Fizz Buzz Solution
  • Factorial function
  • *args
  • colour_print with multiple arguments
  • Rules for variable number of arguments
  • Defining different parameter types
  • Variable number of arguments
  • Section Summary
  • Introduction
  • What is a dictionary?
  • Iterating over a dictionary
  • Adding items to a dictionary
  • Changing values in a dictionary
  • Removing items from a dictionary
  • Using `in` with a dictionary
  • Dictionary menu challenge solution
  • Using a list with a dictionary
  • Adding items to a dictionary
  • Smart fridge
  • What's for tea?
  • Using several dictionaries together
  • Checking the pantry
  • Checking quantities - choosing a data structure
  • Checking quantities - the code
  • Solution: Create a shopping list challenge
  • Wrong decisions don't have to be fatal
  • The setdefault method
  • Character counter
  • APIs and a mobile phone demo
  • The `dict` documentation
  • The remaining `dict` methods
  • The dict `update` method
  • The dict `values` method
  • References to mutable objects
  • Shallow copy
  • Shallow copy step-by-step
  • Deep copy
  • Simple deep copy solution
  • Hash functions
  • A really bad hashing function
  • Hash tables
  • Completing our simple dictionary implementation
  • Hash functions and security
  • hashlib, the secure hash module
  • Introduction to Android-Tim
  • Introduction to sets
  • Python sets
  • Implications of sets being unordered
  • set membership
  • Testing set membership is fast
  • Adding items to a set
  • Using a set to remove duplicate values
  • Deleting items from a set
  • The `discard` method
  • The `remove` method
  • The `pop` method
  • set union
  • Set union in practice
  • Union update
  • Advantage of the set operation methods over the operators
  • Set intersection
  • Set intersection in practice
  • Intersection update
  • Set difference
  • Set difference in practice
  • Difference
  • Set symmetric difference
  • subsets and supersets
  • subsets and supersets in Python
  • Practical application of subsets and supersets
  • Summary
  • Introduction
  • Files and directories
  • Introduction to the command prompt or terminal
  • Paths
  • Text files
  • Reading from a text file
  • Opening a file using `with`
  • read, readline and readlines
  • strip, lstrip and rstrip
  • removeprefix and removesuffix in Python 3.9
  • Parsing data in a text file
  • Working with text data
  • Solution to capital city challenge
  • Dictionary values with multiple keys
  • Printing data to a text file
  • Writing data to a text file
  • File modes
  • Unicode – a brief history
  • Unicode in Python
  • File encodings
  • Serializing data using JSON
  • Limitations of JSON
  • Practical application - parsing JSON data
  • Practical application - parsing JSON data from the internet
  • The CSV format
  • Reading a CSV file
  • quoting in a CSV file
  • Sniffer and Dialect
  • CSV Dialect
  • Writing a CSV file
  • The csv DictReader
  • Solution to DictReader challenge
  • Field names with DictReader and DictWriter
  • Reading and writing multiple files
  • The csv DictWriter
  • The `zip` function
  • Reading and writing to the same text file
  • Solution to parsing functions challenge
  • The record_invoice function
  • Using the `record_invoice` function
  • seek and tell
  • Improving the `record_invoice` function
  • Summary of working with text files
  • Working with binary files - bytes and bytearray
  • Reading a bitmap file
  • Little endian and big endian
  • Making sense of binary data
  • Reading tags in an mp3 file
  • The ID3v2 specification
  • The code
  • Filling in the blanks
  • Extracting images
  • Testing our read_id3 program

Checking the hash of a file

  • Summary of working with binary files
  • End of Remaster
  • Introduction to the Section
  • Modules and import
  • The standard Python library
  • WebBrowser Module
  • Time and DateTime in Python
  • Time (Continued) and Challenge.
  • Timezones
  • Check Path In Windows
  • Check Path on a Mac
  • FAQ: Installing packages in IntelliJ IDEA and PyCharm
  • Installing the pytz module (Windows/Mac/Linux)
  • Using Timezones

Preview

  • More on Timezones
  • Timezone Challenge
  • Introduction to Tkinter
  • TkInter - Pack Geometry Manager
  • TkInter - Grid Geometry Manager
  • Advanced GUI Example Part 1

Preview17:13

  • Advanced GUI Example Part 2
  • Advanced GUI Example Part 3
  • Tkinter Challenge
  • Functions in Python
  • Functions Part 2
  • Functions Part 3

Preview

  • Parabola - More on Functions
  • Scope in Functions
  • Fix Function and Draw Circles
  • Enhanced Circles and Challenge

Preview

  • Blackjack Setup

Preview

  • Load Cards
  • Deal Card
  • Global Variables
  • Global Keyword
  • Test Blackjack Game
  • Blackjack Challenge
  • Importing Techniques
  • Underscores in Python code
  • Namespaces, more on Scope and Recursion
  • Recursion with OS Module and Filesystem and Nonlocal keyword
  • Nonlocal keyword, Free and LEGB
  • Object Orientated Programming and Classes
  • Instances, Constructors, Self and more
  • Class Attributes
  • Methods Part 1
  • Methods Part 2
  • Non Public and Mangling
  • DocStrings and Raw Literals
  • Album class and More on DocStrings
  • Artist class and import Albums
  • Load data and Write Checkfile
  • Compare Files and Algorithm Flowcharts
  • Implement Revised Load_Data Algorithm
  • Write OOP Version
  • Getters and Properties
  • Remove Circular References Challenge
  • Getters and Setters
  • Data Attributes and Properties
  • Alternate Syntax for Properties
  • Inheritance
  • Subclasses and Overloading
  • Calling Super Methods
  • Changing Behavior of Methods
  • Overriding Methods
  • Inheritance Challenge
  • Polymorphism
  • Duck Test
  • Composition
  • Composition Continued
  • Test Code and Challenge
  • Aggregation
  • Introduction to Databases
  • Database Terminology
  • Sqlite3 Install on Windows
  • Sqlite3 Install on a Mac
  • SQLite3 Install on Ubuntu Linux
  • Introduction to SQLite
  • More with SQL using SQLite
  • Querying data with Sqlite
  • Order by and Joins
  • More complex Joins
  • Wildcards and Views
  • Housekeeping and the Challenge
  • SQL in Python
  • Connections, Cursors and Transactions
  • SQL Injection Attacks
  • Placeholders and Parameter Substitution
  • Exceptions
  • Exceptions Challenge
  • Exceptions Continued
  • Raising Exceptions
  • More on Exceptions
  • Exceptions and TODO
  • Rolling back Transactions
  • Adding Database code to the Account Class
  • GUI Database Editing Overview
  • Ultimate Edition Database View
  • Problems with Community Edition database plugin
  • Update Deposit and Withdrawal Methods
  • Displaying Time in Different Timezones
  • SQLite3 strftime Function
  • Challenge
  • Problems Storing Timezones
  • Rolling Back Transactions
  • Simple Database Browser
  • Scrollbars
  • Star Args
  • Kwargs
  • More on KWArgs
  • Scrollable Listbox
  • Populating a Listbox from a Database
  • Show Songs from Album
  • The DataListbox Class Code
  • Linking our DataListBoxes
  • Linking our DataListBoxes Continued
  • DataListbox Challenge

  • Introduction
  • Generators and Yield
  • Next and Ranges
  • Generator Examples - Fibonacci numbers and Calculating Pi
  • The os.walk Generator
  • Searching the Filesystem
  • Reading Mp3 Tags
  • List Comprehensions
  • List Comprehensions and Side-Effects
  • Challenge Solutions
  • Conditional Comprehensions
  • Conditional Expressions
  • Challenges
  • Challenge 1 Solution
  • Challenge 2 Solution
  • Nested Comprehensions
  • Nested Comprehensions Challenge
  • The timeit Module
  • More on timeit
  • timeit Continued and Challenge
  • timeit Challenge
  • Map Intro
  • Map Challenge Completion
  • The Filter Function
  • The Reduce Function
  • any and all
  • Named Tuples
  • any and all with Comprehensions

Lambda expressions

  • Using lambdas
  • More lambdas
  • Conditional expressions
  • Conditional expression challenge
  • A lambda with a conditional expression
  • A toy calculator
  • A lambda in a loop
  • Methods of some state-carrying object
  • Frame makes a good base class
  • `eval` is dangerous!
  • Control all input to `eval`
  • Mitigating the danger of `eval`
  • Functions are objects
  • Big O notation
  • Big O tables and graphs
  • Bubble sort
  • Big O of Bubble sort, and an optimisation
  • Big O of our improved Bubble sort
  • Bubble sort optimisation
  • Best, worst and average cases
  • Big O summaryy


  • Introduction to the section
  • The turtle module
  • Importing specific objects
  • Namespaces and global scope
  • Local scope
  • Builtins
  • Nested functions
  • Enclosing scope
  • A little white lie, or an oversimplification
  • Changing the value of a free variable
  • Investigating changes to a free variable
  • The `nonlocal` keyword
  • The `global` keyword
  • Importing and the global namespace
  • I nearly forgot
  • import *
  • if name == '__main__':
  • An optimisation you may see in code
  • The webbrowser module
  • Dates and times in Python
  • The datetime module's date class
  • `timedelta` objects
  • The datetime module's time class
  • `datetime.date`, and another note about importing
  • Aware and naive times
  • zoneinfo backport
  • timezone objects
  • Timezone challenge solution
  • Some behaviour you might not expect
  • Perform arithmetic in UTC (most of the time)

Instructors

Chotan Chandra Dash

Senior Programmer

Stephane Smith

4.5   256 Reviews
Phasellus enim magna, varius et commodo ut, ultricies vitae velit. Ut nulla tellus, eleifend euismod pellentesque vel, sagittis vel justo. In libero urna, venenatis sit amet ornare non, suscipit nec risus.
Was this review helpful?

Anna Sthesia

4.5   256 Reviews
Phasellus enim magna, varius et commodo ut, ultricies vitae velit. Ut nulla tellus, eleifend euismod pellentesque vel, sagittis vel justo. In libero urna, venenatis sit amet ornare non, suscipit nec risus.
Was this review helpful?

Petey Cruiser

4.5   256 Reviews
Phasellus enim magna, varius et commodo ut, ultricies vitae velit. Ut nulla tellus, eleifend euismod pellentesque vel, sagittis vel justo. In libero urna, venenatis sit amet ornare non, suscipit nec risus.
Was this review helpful?

Rick O'Shea

4.5   256 Reviews
Phasellus enim magna, varius et commodo ut, ultricies vitae velit. Ut nulla tellus, eleifend euismod pellentesque vel, sagittis vel justo. In libero urna, venenatis sit amet ornare non, suscipit nec risus.
Was this review helpful?
View More
Video Image

Preview this course

  • Lectures 3
  • Quizzes 0
  • Duration 3 Month
  • Students 21
  • Assessments Yes