PYTHON TRAINING CONTENT
CORE PYTHON
Setting up and running Python
●Python Implementations – CPython, Iron Python, Jython, pypy
●Distributions – python.org, anaconda python, pypy
●Shells and IDEs – python, Ipython, Jupyter, Eclipse, Pycharm
●Python 2 vs 3
●Hello World!’
●No braces only indentation
●Interpretationand.pyc, .pyo files
Memory Management
●Garbage collector
●regex
Types and conversion functions
●Int()
●float ()
●bool()
●str()
●id ()
●type ()
●None
●sys. getsizeof ()
Operators
●arithmetic
●relational
●logical
●assignment
●bitwise
●membership
●identity operators
Control Structures
●Conditionals
a.If
b.If-else
c.If-elif
●Looping statements
a.while
b.for
c.range ()andxrange ()
d.Break and Continue
●Example Problems
Container Types
●tuple
●Strings
●Array or List in Python
●List slicing techniques
●Collections
a.set ()
b.dict ()
c.Defaultdict()
d.OrderedDict ()
e.Counter ()
f.heapq ()
g.deque ()
●Exercise Problems
Functions
●Positional arguments
●Variable Arguments
●Keyword arguments
●Default Arguments
●Call-by-object-reference (call-by-reference and call-by-value)
●passkeyword
●Built-in methods
Iterators and Generators
●range () and xrange () re-visited
●next ()vs.next ()
●yield and Custom Generators
●custom iterators __iter__, __next__
●Generator expressions
Miscellaneous
●zip()
●enumerate()
●Unpacking in python 3
●Copy(), deepcopy()
Modules and Namespaces
●import statement
●if __name__ == '__main__’
●python files
●Package vs Folder
●__init__.pyand __all__
●locals ()and globals ()
File Handling
●Files and directories
●Text files
●Binary files
●Encoding – UTF-8 & ASCII
●Byte order (big-endian, little-endian)
●Text file processing
●Pickling - Binary file handling
Advanced Python
Functional programming
●Lambdas
●map (), filter () and reduce ()
●List comprehension revisited
Object Orientation
●Abstraction
●Encapsulation
a.Data binding
b.Data hiding
●Classes and POD
a.Inheritance
b.Re-Usability
●MRO
a.Single Inheritance
b.Multiple Inheritance
c.Multi-level Inheritance
d.Hierarchical Inheritance
e.Hybrid Inheritance
f.Diamond Problem
●PolymorphismI: overloading
a.Method overloading in python
b.Operator overloading
●Polymorphism II: Overriding
●Static Methods
●ClassMethods
●Self & Cls
●Decorators using functions
a.local functions
b.passing and returning functions
c.function decorators
●Decorators using Classes
●Context managers
●Callable objects (functors) __call__
Descriptors and Properties
●__get__, __set__, __del__
●@property decoration
●property function
Exception handling
●System Continuity
●try –except
●finally
●else
●writing custom exceptions
Useful modules
●datetime
●time
●pytz
●sys
●os
●random
Regular Expressions
●match ()
●search ()
●findall()
●Greedy and Non-Greedy Matching
Serialization
●pickle module
●CSV and EXCEL – csv module
●XML parsing – lxml module
●JSON Parsing –json and simplejson modules
●Universal conversion - odo module
Rest API using python, context manager
Multi-threading
●Concurrency and Parallelism
●Multi-processing
●Multi-threading
●Creating thread
●Joining thread
●Daemon threads
●Cancelling threads
●Critical section and locking
●Deadlock
●GIL
●Asynchronous Programming
Database connectivity
●Connectors – MySQL, SQLite, Mongo
●dB&PostgreSQL
●Querying and cursors
●Cursor unpacking
Logging
●Logging setup
●Log Levels
●Console Logger
●File Logger
●Rotating File Logger
Data analysis
●Numpy Intro
a.Arrays, Datatypes
b.Matrices
c.Broadcasting
●Pandas Intro
a.series
b.Data Frames
c.Merge, Join, Concatenate
d.Handling missing data
e.IO Tools, Text, CSV, HDF5, JSON, EXCEL
f.plotting
●Matplotlib
a.Intro Line plot
b.Bar charts
c.Histograms
d.Scatter Plot
Unit testing
●Writing unit tests
●Assertions
●nosetests
●mocking
●coverage
ORM Object relational mapping
●SQLAlchemy
a.Creating, dropping tables
b.Updating records
c.Querying
Networking
●TCP/IP Basics
●Socket programming
●Simple TCP Client – Server
●Simple UDP Client – Server
●Emailing
●FTP
Flask Web framework
●Flask Basics
●Templates
●Forms with Flask
●SQL Databases with Flask
●Large Flask Applications
●Flask Migrate for Database Migrations
●Flask REST APIs
●Deployment
●Payments with Stripe
Django Web Framework
●Django Basics
●Django Templates
●Django Forms
●Django Admin Customization
●ORM
●Class Based Views
●Flask Migrate for Database Migrations
●Django REST APIs
●Deployment
●User Authentication
Python in Kafka
Python in Cloud
Python in Data visualization
Python in Machine Learning
WORKING WITH REAL TIME PROJECT (USE CASES)