Call : (+91) 968636 4243
Mail : info@EncartaLabs.com
EncartaLabs

Python

This Python training course covers the language itself, explains object-oriented as well as functional programming techniques, error handling, packaging, system and network programming, many of the Python extensions (libraries), as well as best practices. All concepts are explained through hands-on examples and exercises, so attendees learn by coding in Python.

The Intermediate Python training course begins with a quick review of core Python concepts. It then transitions into an in-depth look into advanced Python concepts, syntax and libraries. Along the way, you will learn the ins-and-outs of writing multithread programs with Python, creating network aware applications using both Sockets and URLs, and applying Test-Driven Development concepts with unit test. This course concludes with a quick overview of the Django Web development framework.

The Advanced Python training course begins with a quick review of some of the more prominent intermediate Python programming concepts, and then quickly transitions into an in-depth, hands-on examination of the more commonly and uncommonly used Advanced Python features. Where the Intermediate Python training course scratches the surface on multi-threaded programming, the Advanced Python course does a deep dive, exploring the nooks and crannys associated with creating high-throughput multithread solutions and explores the more advanced OO programming used in modern software development, like Metaclasses.

By attending Python - Essentials workshop, delegates will learn:

  • Python’s input and output details: stdio and file io
  • Python’s interesting and extra-useful flow-of-control devices
  • Python’s simple and robust error handling
  • Python’s flexible function protocols
  • Python’s memory model
  • Python’s straight-forward object-oriented features
  • Python’s built-in data types:
  • Python’s list comprehensions, decorators, iterators, generators, context managers
  • Python’s scheme for creating and using libraries and packages
  • Python’s handy libraries for many developer/administrator tasks: shutil, tempfile, subprocess, glob, profile, shelve, os, sys, optparse, unittest
  • Python’s architecture, which allows you to get working very quickly with any Python library (there are thousands)

By attending Intermediate Python workshop, delegates will learn to:

  • Understand and work with Python’s support for resource management and iteration
  • Apply TDD concepts with Python using unit testing
  • Create concurrent programs with Threads
  • Build a simple client-server solution using TCP Sockets

By attending Advanced Python workshop, delegates will learn:

  • Python techniques for customizing class creation
  • How to use Python’s generators in concurrent programming
  • Packaging your code for reuse and distribution
  • Advanced multithreading and multiprocessing techniques
  • How to build network clients & servers using Python’s standard library

Prior programming experience and be familiar with basic concepts such as variables/scopes, flow-control, and functions. Prior exposure to object-oriented programming is beneficial.

Python - Essentials: class is designed for developers, system administrators, and QA engineers, who wish to develop, automate, and test applications and systems using one of the most powerful programming languages available today.

Python - Intermediate: Developers with 0 – 3 months of experience needing to deepen their understanding.

Python - Advanced: Experienced Python developers need to push their knowledge and expertise to the limits.

COURSE AGENDA

Python - Essentials
(Duration : 3 Days)

1

Introduction to Python

  • Python Interpreter and its Environment
2

Data Types and their related functions

  • Numbers
  • Strings
  • Unicode Strings
3

Python variables and basic data structures

  • Declaration of variables
  • Arrays, Lists and Tuples
  • Dictionary and Sets
  • List and array slicing
4

Operators

  • Arithmetic Operators
  • Assignment Operators
  • Comparison Operators
  • Logical (or Relational) Operators
  • Conditional (or ternary) Operators
5

Conditional statements/Control Structures

  • If Statements
  • While construct
  • For Statements
  • Looping Techniques over arrays, dictionary, etc.
  • The range() Function
  • Break and continue Statements, and else clauses on Loops
  • Pass Statements
  • Error Handling
6

Functions

  • Local variables
  • Default Argument Values
  • Returning Values
  • Keyword & Positional Arguments
  • Arbitrary Argument Lists
  • Unpacking Argument Lists
  • Lambda Expressions
  • Documentation Strings
7

Modules

  • Executing modules as scripts
  • The Module Search Path
  • Building modules
  • Running a module from the command line
  • “Compiled” Python files
  • Standard Modules
  • The dir() Function
  • Packages
  • Importing * From a Package
  • Intra-package References
  • Packages in Multiple Directories
8

File handling and other OS interactions

  • Opening a File
  • Reading from a file, writing to a file
  • Closing a File
  • Reading directories & other basic directory operations (getcwd, mkdir, chdir etc.)
  • Renaming & deleting files
9

Exceptions

  • Handling Exceptions
  • Raising Exceptions
  • User-defined Exceptions
  • Defining Clean-up Actions
  • Predefined Clean-up Actions
  • try-finally clause
10

Regular expressions

  • What is regular expression?
  • Matching characters
  • Compiling regular expressions
  • Strings and Slices
  • Modifying Strings
  • Use of triple quotes
11

Introduction to OOP

  • Class Definition Syntax
  • Class Objects, Instance Objects, Method Objects; Instantiation
  • Inheritance
  • Data Member – Class variable/Instance Variable
  • Function overloading
  • Operator overloading
12

List Comprehensions

  • Basic List Comprehensions
13

Lambda Forms

  • Introduction to Lambda Forms
14

Pickle Module

  • The Pickle Module
15

File Wildcards

  • File lists from directory wildcard searches (glob module)
16

Command Line Arguments

  • How to process command line arguments (sys module)
17

Error Output Redirection and Program Termination

  • sys.stdin, sys.stdout and sys.stderr attributes
  • sys.exit() – program termination
18

Various standard libraries, as time permits

  • shutil (for daily file and directory management tasks)
  • math (underlying C library functions for floating point math)
  • random (tools for making random selections)
  • datetime (access and manipulate dates and times)
  • timeit (to time operations)
  • urllib2 (internet access)
  • smtplib (mail access)
Python - Intermediate
(Duration : 2 Days)

1

Python Syntax Review

  • Ensuring a proper setup of Python
  • Review basic Python syntax
  • If/then/else & loops
  • Functions and exceptions
  • Decorators
2

Generators and iterators

  • iter(), iter, and next()
  • Understanding the yield statement
  • Creating generator expressions
  • Loop comprehensions
3

Context managers

  • What is a context manage
  • The ‘with’ statement
  • Working with a context manager: contextlib.closing, enter and exit
  • Using contextlib.contextmanager
4

Testing Python

  • Review of key texting concepts: unit, functional, integration, etc.
  • Overview of test-driven development concepts
  • Writing tests unit test with a test-first approach
  • Unit testing with the unittest module
  • Creating test suites with nosetests as a test collector
  • Performing simple code coverage analysis with coverage
5

Introducing logging

  • Importance of logging
  • Basic logging concepts within Python
  • Using basicConig to set up loggers, handlers, formatters
  • Using ?leConig for more complex logger configurations
6

Threading

  • Threading v. multi-processing
  • Core Threading Concepts
  • Key threading constructs
  • Building a simple multi-thread program
  • Preventing data corruption through mutex and events for synchronization
  • Using Queue.Queue
7

Multiprocessing

  • Threading v. multi-processing (part II)
  • Core Multiprocessing Concepts
  • Using the subprocess module
  • Using the multiprocessing module
8

Network Programming

  • Review of network programming concepts and protocol layers
  • Network programming support within Python
  • Fetching web resources with urllib/urllib2
  • Sending email with smtplib
  • Creating client-server like applications using sockets
  • Creating a simple JSON-REST client
9

Introduction to Web application development with Django

Python - Advanced
(Duration : 3 Days)

1

Advanced Python Syntax

  • Metaclasses
  • Descriptors
  • Generators and Co-routines
  • Introspection
2

Packaging and Multitasking

  • Packaging using Setuptools / Distribute and PyPI
  • Virtualenv
  • Advanced Multithreading
  • Advanced Multiprocessing
3

Network Programming

  • Socket Programming
  • Asynchronous programming with asyncore and gevent
  • Web programming: urllib and WSGI
  • Email handling
  • HTML and XML Parsing

Encarta Labs Advantage

  • One Stop Corporate Training Solution Providers for over 6,000 various courses on a variety of subjects
  • All courses are delivered by Industry Veterans
  • Get jumpstarted from newbie to production ready in a matter of few days
  • Trained more than 50,000 Corporate executives across the Globe
  • All our trainings are conducted in workshop mode with more focus on hands-on sessions

View our other course offerings by visiting https://www.encartalabs.com/course-catalogue-all.php

Contact us for delivering this course as a public/open-house workshop/online training for a group of 10+ candidates.

Top
Notice
X