Python II: Applied Python (2.X)

Print

Request an offer for delivery of this course

Course duration

Course Outline

This Advanced Python Programming covers advanced concepts such as regular expressions. Classes are covered extensively, with network programming (FTP, Web client and server), graphical programming, database access, and other areas of general need.

This is a hands-on programming class; all concepts are reinforced by informal practice during the lecture followed by graduated lab exercises.

  1. Python refresher
    1. Data types
    2. Sequences
    3. Mapping types
    4. Program structure
    5. Files and console I/O
    6. Conditionals
    7. Loops
    8. Builtins
  2. OS Services
    1. The os module
    2. Environment variables
    3. Launching external commands
    4. Walking directory trees
    5. Paths, directories, and filenames
    6. Working with file systems
    7. Dates and times
  3. Pythonic Programming
    1. The Zen of Python
    2. Common idioms
    3. Lambda functions
    4. List comprehensions
    5. Generator expressions
    6. String formatting
  4. Modules and packages
    1. Initialization code
    2. Namespaces
    3. Executing modules as scripts
    4. Documentation
    5. Packages and name resolution
    6. Naming conventions
    7. Using imports
  5. Classes
    1. Defining classes
    2. Instance methods and data
    3. Initializers
    4. Class methods
    5. Static methods
    6. Inheritance
    7. Multiple inheritance
    8. Pseudo-private variables
  6. Metaprogramming
    1. Implicit properties
    2. globals() and locals()
    3. Attributes
    4. The inspect module
    5. Decorators
    6. Monkey patching
  7. Programmer tools
    1. Analyzing programs
    2. Using pylint
    3. Testing code
    4. Using unittest
    5. Debugging
    6. Profiling
  8. Distributing modules
    1. setup.py
    2. easy_install
    3. Python eggs
  9. Database access
    1. The DB API
    2. Available Interfaces
    3. Connecting to a server
    4. Creating and executing a cursor
    5. Fetching data
    6. Parameterized statements
    7. Metadata
    8. Transaction control
  10. GUI Programming
    1. Overview
    2. The mainwindow object
    3. Widgets
    4. Colors and fonts
    5. GUI layout
    6. Event handling
  11. Network Programming
    1. Sockets
    2. Clients
    3. Servers
    4. Application protocols
    5. Forking servers
    6. Threaded servers
    7. Binary data
    8. The struct module
  12. Threads
    1. Why use threads?
    2. Threads are different
    3. Variables are shared
    4. Python threads modules
    5. The threading module
    6. The queue module
    7. The python thread manager
    8. Debugging threaded programs
  13. Twisted
    1. Twisted overview
    2. Twisted subpackages
    3. Major components
    4. Reactors
    5. Factories
    6. Protocols
    7. Deferreds
  14. System Administration
    1. Typical SA Tasks
    2. Working with files and folders
    3. Launching external processes
    4. Remote Access
    5. Permissions
    6. Monitoring processes
    7. Network information
  15. XML and JSON
    1. Working with XML
    2. DOM and Sax
    3. ElementTree
    4. Parsing XML
    5. Creating a new XML document
    6. Navigating
    7. JSON
    8. Parsing JSON into Python
    9. Parsing Python into JSON
  16. Extending Python
    1. About non-Python modules
    2. Overview of a C extension
    3. Creating functions
    4. Registering functions
    5. Initialization code
    6. Loading the module

InterSource Geneva, a premier Information Technology training firm, offers over 400 different courses on server, database and programming technologies, as well as end-user classes for the most popular office, graphics and design applications. We serve clients in Switzerland (Geneva, Lausanne, Bern, Basel, Zurich) and throughout Europe (France, Germany, Austria, Finland, Sweden, England, Netherlands, Spain, etc.).


InterSource offers custom, private courses at client sites, standard public courses in our Geneva classroom, and online training via live Web conference. Training is offered in English and many other languages (Francais, Deutsch, Espanol, Italiano.)


For an overall view of our offerings, please visit us at www.intersource.ch.