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- Duration 3 Month
- Price 12000 BDT