ADVANCE PYTHON PROGRAMMING

  • Home
  • Course
  • ADVANCE PYTHON PROGRAMMING

ADVANCE PYTHON PROGRAMMING

OVERVIEW

Once students have mastered the basics of Python by taking Core Python or on their own, it’s time to move on to applying Python to daily programming needs. This course picks up where Core Python leaves off, covering some topics in more detail, and adding many new ones, with a focus on enterprise development. This is a hands-on programming class. All concepts are reinforced by informal practice during the lecture followed by lab exercises. Many labs build on earlier labs, which helps students retain the earlier material.

 

At the end of this course, students will be able to:

  • Leverage OS services
  • Create modules
  • Create and run unit tests
  • Define classes
  • Interact with network services
  • Query databases
  • Process XML data

Who can do this course?

Developers who would like to learn advanced features and functions of Python.

Prerequisites

To succeed fully in this course, students should be able to program Java applications.

  • Write simple Python scripts using basic data types
  • Program structures and the standard Python Library
  • Data types
  • Sequences
  • Mapping types
  • Program structure
  • Files and console I/O
  • Conditionals
  • Loops
  • Bulletins
  • The OS module
  • Environment variables
  • Launching external commands
  • Walking directory trees
  • Paths, directories, and filenames
  • Working with file systems
  • Dates and times
  • The Zen of Python
  • Common idioms
  • Lambda functions
  • List comprehensions
  • Generator expressions
  • String formatting
  • Initialization code
  • Namespaces
  • Executing modules as scripts
  • Documentation
  • Packages and name resolution
  • Naming conventions
  • Using imports
  • Defining classes
  • Instance methods and data
  • Initializers
  • Class methods
  • Static methods
  • Inheritance
  • Multiple inheritance
  • Pseudo-private variables
  • Implicit properties
  • Globals() and Locals()
  • Attributes
  • The inspect module
  • Decorators
  • Monkey patching
  • Analyzing programs
  • Using pylint
  • Testing code
  • Using unit test
  • Debugging
  • Profiling
  • Distribution concepts
  • Setup tools
  • Screen Size
  • Creating setup.py
  • Building installers
  • Running installers
  • The DB API
  • Available Interfaces
  • Connecting to a server
  • Creating and executing a cursor
  • Fetching data
  • Parameterized statements
  • Metadata
  • Transaction control
  • Sockets
  • Clients
  • Servers
  • Application protocols
  • Forking servers
  • Threaded servers
  • Binary data
  • The struct module
  • Why use threads?
  • Threads are different
  • Variables are shared
  • Python threads modules
  • The threading module
  • The queue module
  • The python thread manager
  • Debugging threaded programs
  • What is a closure?
  • Nested functions
  • Partial functions
  • Understanding closure
  • Working with XML
  • DOM and Sax
  • ElementTree
  • Parsing XML
  • Creating a new XML document
  • Navigating
  • JSON
  • Parsing JSON into Python
  • Parsing Python into JSON
  • About non-Python modules
  • Overview of a C extension
  • Creating functions
  • Registering functions
  • Initialization code
  • Loading the module
  • The sh namespace
  • Running a simple command
  • Keyword arguments
  • Running commands in the background
  • Piping and redirection
  • Working with STDIN
  • Exit codes
  • Advanced features