View the site in Français Site displayed in English (USA) View the site in English (GB)
You are here: ac6 > ac6-formation > Languages > Python

L8 Python

Programming with the Python Language

Objectives
bullet_jaune_1 Master the Python language basics
bullet_jaune_2 Modular approach
bullet_jaune_2 Object Oriented features
bullet_jaune_2 Exception mechanism
bullet_jaune_1 Understand the specifics of the Python interpreter
Course environment
bullet_jaune_2 Printed course material (in English).
bullet_jaune_2 One PC for two trainees.
bullet_jaune_2 Documentation and exercise solutions on CDROM.
Prerequisites
bullet_jaune_2 There is no specific prerequisites

Outline
First Day
Python overview
bullet_jaune_2 History
bullet_jaune_2 Installing Python
bullet_jaune_2 The Python interpreter
bullet_jaune_2 The Python command line
Python language basics
bullet_jaune_2 Comments and instructions
bullet_jaune_2 Variables, data and assignment
bullet_jaune_3 Identifiers and keywords
bullet_jaune_3 Basic types
bullet_jaune_2 Expressions and operators
bullet_jaune_3 Arithmetic operators
bullet_jaune_3 Relational operators
bullet_jaune_3 Choice operators
bullet_jaune_2 Simple input/output
bullet_jaune_2 Data structures
bullet_jaune_3 Sequences
bullet_jaune_3 Dictionaries
bullet_jaune_3 Sets
Python program structure
bullet_jaune_2 Complex instructions
bullet_jaune_3 Instruction sequences
bullet_jaune_3 Conditions and switches
bullet_jaune_3 Loops and iterators
bullet_jaune_2 Functions and procedures
bullet_jaune_3 Parameters
bullet_jaune_3 Local and global variables
bullet_jaune_3 Default parameter values
bullet_jaune_3 Calling functions
bullet_jaune_2 Name spaces
bullet_jaune_2 Modules
bullet_jaune_3 Creating modules
bullet_jaune_3 Importing functions from modules
Second Day
Advanced data structures
bullet_jaune_2 Character strings
bullet_jaune_3 Indexing and slicing
bullet_jaune_3 Concatenation and repetition
bullet_jaune_3 Unicode strings
bullet_jaune_3 Converting strings
bullet_jaune_3 Formatting
bullet_jaune_3 Character strings and byte strings
bullet_jaune_3 Lists
bullet_jaune_3 Advanced slicing
bullet_jaune_3 Insertion and extraction
bullet_jaune_3 List operations
bullet_jaune_3 List copy
bullet_jaune_2 Tuples
bullet_jaune_2 Dictionaries
bullet_jaune_3 Creating a dictionary
bullet_jaune_3 Dictionary operations
bullet_jaune_3 Keys and data types
Object oriented programming
bullet_jaune_2 Overview
bullet_jaune_3 Classes and instances
bullet_jaune_3 Attributes and operations
bullet_jaune_3 Relations and links
bullet_jaune_3 Inheritance and polymorphism
bullet_jaune_2 Rationale
bullet_jaune_3 Divide and conquer
bullet_jaune_3 The encapsulation paradigm
bullet_jaune_3 Modularity and security
bullet_jaune_2 Advantages
bullet_jaune_3 Increased security
bullet_jaune_3 Incremental development
bullet_jaune_3 Code reuse
Python as an Object Oriented Language
bullet_jaune_2 Python class design
bullet_jaune_3 Everything is an object
bullet_jaune_2 Defining classes
bullet_jaune_3 Instance and class attributes
bullet_jaune_3 Static and instance methods
bullet_jaune_3 Constructors
Third Day
Exceptions
bullet_jaune_2 Exceptions and errors
bullet_jaune_3 Error types
bullet_jaune_3 Exception types
bullet_jaune_3 Assertions
bullet_jaune_2 Handling exceptions
bullet_jaune_3 Try blocks
bullet_jaune_3 Except (catch) blocks
bullet_jaune_3 Getting information about the exception
bullet_jaune_3 The finally block
bullet_jaune_2 Raising exceptions
bullet_jaune_2 The with statement
Input-Output
bullet_jaune_2 User interaction
bullet_jaune_3 Writing to the terminal
bullet_jaune_3 Reading from the terminal
bullet_jaune_2 Files
bullet_jaune_2 Persistent objects
bullet_jaune_3 Explicit serializing with repr
bullet_jaune_3 Implicit serializing with pickle
Graphical interfaces in Python
bullet_jaune_2 A lot of graphic toolkits
bullet_jaune_3 PyQt
bullet_jaune_3 PyGTK
bullet_jaune_3 wxPython
bullet_jaune_3 Tkinter
bullet_jaune_2 Graphical object programming with Tkinter
bullet_jaune_3 Event-driven programming
bullet_jaune_3 The Tkinter widgets
bullet_jaune_3 Widget layout
bullet_jaune_3 Drawing graphics on a canvas
bullet_jaune_3 Creating a custom widget
Fourth Day
The Python standard library
bullet_jaune_2 The standard modules
bullet_jaune_3 sys
bullet_jaune_3 logging
bullet_jaune_3 urllib and json
bullet_jaune_2 Network programming
bullet_jaune_3 Sockets
bullet_jaune_3 Client and server programs
bullet_jaune_2 Multithread programming
bullet_jaune_3 Creation de threads
bullet_jaune_3 Sharing data and mutual exclusion
bullet_jaune_3 Synchronisation and communication
Advanced language features
bullet_jaune_2 Advanced functions
bullet_jaune_3 Returning multiple values
bullet_jaune_3 Getting list or tuple parameters
bullet_jaune_2 The special (__xxxx__) methods and attributes
bullet_jaune_2 Metaclasses
bullet_jaune_2 Callable objects
bullet_jaune_2 Containers
bullet_jaune_3 Creating a container
bullet_jaune_3 Indexing a container
bullet_jaune_3 Iterating through a container
bullet_jaune_2 New numeric types
bullet_jaune_2 Dynamic programming
bullet_jaune_3 Functions creating new functions (lambda)
bullet_jaune_3 Executing and evaluating character string