Intermediate Python

Understanding the Intermediate Python concepts

Duration

3 Day

Level

Intermediate Level

Design and Tailor this course

As per your team needs

Edit Content

This course is designed to demonstrate an intermediate understanding of Python and increase your skills and techniques as a developer.

The course begins with an examination into advanced data types in Python and functional programming features. Then, we will discuss the specifics of testing Python programs with logging. After discussing Python libraries for advanced computation and data integration, we will  cover multithreaded programming with Python. We will end with developing network aware applications through socket programming and Uniform Resource Locators and creating functional web application using the Django Web development framework.

During this instructor-led, hands-on course, you will learn to:

  • Work with Python’s support for resource management and collection iteration
  •  Apply TDD concepts with Python using unit testing
  •  Create concurrent programs using Threads
  •  Build a simple client-server solution
  • Understand the basics of the Django Framework for web application development
Edit Content
  • Software Developers 
  • Data Scientists 
  • Data Engineers
  • Web Developers
Edit Content
  • Data Types: namedtuple, defaultdict, ordereddict, deque, etc
  • Functional programming: map/filter/reduce, lambda, list.sort, operator modules
  • Functional closures and decorators
  • List comprehensions, generator expressions, and generator functions
  • Iteration: iter(), iter, next(), itertools, chain, groupby, etc   
  • Understanding the yield statement
  • What is a context manager?
  • The ‘with’ statement
  • Work with a context manager: contextlib.closing, enter and exit 
  • Utilize contextlib.contextmanager
  • Review of key testing concepts: unit, functional, integration, etc.
  •  Overview of test-driven development concepts
  •  Writing test: 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
  • Importance of logging
  •  Basic logging concepts within Python
  •  Using basicConfig to set up loggers, handlers, formatters
  •  Using fileConfig for more complex logger configurations
  • Open-source modules to Python for common mathematical and numerical routines
  •  Demonstration of common pre-compiled and fast functions (use cases)
  •  Vector and matrix mathematics
  •  Special functions in SciPy related to vectorization (vq, weave)
  • Data frames
  •  Aggregation and grouping of data
  •  Reshaping, transforming, and cleaning of data
  •  Scraping data: web API, parsing HTML and XML, JSON (encoder/decoder)
  • Process class and using the multiprocessing module
  •  Synchronization between processes
  •  Exchanging objects between processes: pipes, queues, and circular buffers
  •  Sharing state between processes (shared memory and server process)
  •  Python Semaphores and Mutex
  •  Synchronization events
  • 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
Edit Content

Basic understanding of Python

Connect

we'd love to have your feedback on your experience so far