Course Name
Python Intermediate Training Program
Duration
24 hours
Prerequisites
Basic knowledge of programming would be helpful to attend this training
Lab Setup
Hardware: 1 Laptop/Desktop per participants with minimum 8GB RAM and 100 GB Disk Space
Operating System: Any
Software:
1. Python – 3.8.5 or above
Download link: https://www.python.org/downloads/release/python-385/
2. Code Editor or IDE (Select any one)
• Jupyter Notebook
• Visual Studio Code
• PyCharm
• Sublime Text 3
• IDLE
Day 1
Section 1: Basic Concepts
• fundamental concepts: interpreting and the interpreter, compilation and the compiler,
language elements, lexis, syntax and semantics, Python keywords, instructions, indenting
• literals: Boolean, integer, floating-point numbers, scientific notation, strings
• comments
• print() function
• input() function
• numeral systems (binary, octal, decimal, hexadecimal)
• numeric operators: ** * / % // + –
• string operators: * +
• assignments operators
Section 2: Data Types, Evaluations, and Basic I/O Operations
• operators: unary and binary, priorities and binding
• Boolean operators: not and or
• Boolean expressions
• relational operators ( == != > >= < <= ), building complex Boolean expressions
• accuracy of floating-point numbers
• basic input and output operations using the input(), print(), int(), float(), str(), len() functions
• formatting print() output with end= and sep= arguments
• type casting
• basic calculations
• simple strings: constructing, assigning, indexing, slicing comparing, immutability
Section 3: Control flow – loops and conditional blocks
• conditional statements: if, if-else, if-elif, if-elif-else
• multiple conditional statements
• the pass instruction
• building loops: while, for, range(), in
• iterating through sequences
• expanding loops: while-else, for-else
• nesting loops and conditional statements
• controlling loop execution: break, continue
Section 4: Data Collections – Lists, Tuples, and Dictionaries
• simple lists: constructing vectors, indexing and slicing, the len() function
• lists in detail: indexing, slicing, basic methods (append(), insert(), index()) and functions (len(),
sorted(), etc.), del instruction, iterating lists with the for loop, initializing, in and not in operators,
list comprehension, copying and cloning
• tuples: indexing, slicing, building, immutability
• tuples vs. lists: similarities and differences, lists inside tuples and tuples inside lists
• dictionaries: building, indexing, adding and removing keys, iterating through dictionaries as
well as their keys and values, checking key existence, keys(), items() and values() methods
• strings methods (upper(), lower(), isxxx(), capitalize(), split(),join(), etc.) and functions (len(),
chr(), ord()), escape characters
Day 2
Section 5: Functions
• defining and invoking your own functions and generators
• return and yield keywords, returning results,
• the None keyword,
• recursion
• parameters vs. arguments,
• positional keyword and mixed argument passing,
• default parameter values
• converting generator objects into lists using the list() function
• name scopes, name hiding (shadowing), the global keyword
Section 6: lambda and recursive functions
• lambda functions
• First class objects and higher order functions
• map and filter functions
• functools and reduce functions
Section 7: Modules and packages
• Python modules and module namespace
• import and from ... import
• Python module path and PYTHONPATH
• dir() and help() functions
• Python packages and init .py file
Section 8: File handling
• Introduction to files
• File objects and modes
• Opening and closing files
• Read and write operations
• Context manager - with
Section 9: Working with directories
• Directories and file path
• os module
• Making, changing and deleting directories
• Listing directory and navigating file systems
• Data compression and decompression with zipfile module
Section 9: Errors & Exception handling
• What are error and exceptions?
• How exceptions are caused?
• Decoding the Traceback message
• Handling exceptions with - try, except, raise and assert
• Causing exceptions with - raise and assert
• Creating your own exception class
• logging levels & logging configuration
Day 3:
Section 10: Regular expressions
• Introduction to re module
• Special characters for pattern making
• re functions and flags
• String matching and pattern filtering
• Greedy and non-greedy match
• Expressions using operators and symbols
• Simple character matches
• Special characters
• Mail extraction
• Data extraction Case study
Section 11: Database connectivity
• Introduction to SQL database
• Common SQL query
• Connecting with sqlite3 database and making cursor object
• CREATE, INSERT, SELECT, UPDATE and DROP query
• commit and rollback mechanisms
Section 12: Classes, objects and threads
• Introduction to object-oriented programming
• Class variables and instance variables
• Use of self and init ()
• Class attributes
• Best practices in object-oriented programming: pylint
Section 13: OOPs concepts
• Object oriented programming techniques in python
• Inheritance and types of inheritance
• Overriding and overriding rules
• Method overloading or polymorphism
• Operator overloading
Section 14: Pandas for Data Analytics
• Introduction to Data Frame
• Data Frame Creation
• Indexing
• Slicing
• Filtering
• Adding column
• Deleting column
• Making some column index
• Index to column
• Data filtering
• Summary statistic of data
• Understanding Split apply combine logic
• Data grouping
• Data aggregation
• Data joining
• Data Frame Concatenation