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 ProgrammerStephane Smith
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
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
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?