Code: PRG400
Duration in days: 4
Download: Infosheet
€ 1750

Course Python Programming

22-01 till 25-01-2018
26-02 till 01-03-2018
26-03 till 29-03-2018
23-04 till 26-04-2018
28-05 till 31-05-2018
Your starting date
Region:

Audience Course Python Programming

PRG400-Python Programming.jpg Developers and system administrators who want to learn how to program in Python and other persons who want to understand Python code.

Prerequisites Python Programming Course

Knowledge and experience with programming is not strictly required to participate in this course. Experience in C, C#, Java, Perl or Visual Basic is beneficial for a proper understanding.

Realization Training Python Programming

The theory is treated on the basis of presentation slides. Illustrative demos are used to clarify the concepts further. The theory is interspersed with practical exercises. The course material is in English.

Contents Course Python Programming

In this course you learn how to program in the object oriented scripting language Python. Python is a language often used for installation scripts and for prototypes in large applications. After an introduction on how to install the script language and how to run scripts, the basic concepts of Python, such as statements, variables and control flow structures are discussed. Also attention is paid to common collection data structures such as Lists, Tuples and Dictionaries. Then the focus is on the use of functions with the different methods of parameter passing, by value and by reference. Also the scope of variables and lambda functions are part of the subject matter. The division of Python software modules and the use of namespaces and packages is part of the subject matter as well. Object oriented programming with classes and objects is discussed in detail. In this respect concepts like encapsulation, inheritance and polymorphism are treated. Next attention is paid to the handling of errors in scripts using exception handling. Also the functionality of Python library functions used for accessing files is addressed. Among other subjects also iterators are treated that allow lazy evaluation in the sense that an object is generated only when needed as well as generators and coroutines for concurrent programming. The course continues with decorators that enable the addition of functionality to existing functions and classes such as caching and proxying. Also attention is paid to database access with the Python Database API. The use of diverse libraries for interacting with XML data is covered and finally attention is paid to several libraries for Regular Expressions, networking, unit testing and date and time. The continuation of this course is the course Advanced Python Programming.

Module 1 : Python Intro

Module 2 : Variables and Data Types

Module 3 : Data Structures

What is Python?
Python Features
History of Python
Getting Started
Setting up PATH
Environment Variables
Running Python
Command Line Options
Interactive Mode
Script Mode
Identifiers
Reserved Words
Comments
Lines and Indentation
Multi Line Statements
Quotes
Variables
Multiple Assignment
Data Types
Python Numbers
Numerical Types
Number Type Conversions
Conversion Functions
Built-in Number Functions
Python Strings
String Operators and Operations
Escape Characters
String Formatting
Triple Quotes
Raw and Unicode Strings
Built-in String Functions
Sequences and Lists
Accessing and Updating Lists
Multidimensional Lists
List Operations
List Functions and Methods
Tuples
Accessing Values in Tuples
Usage of Tuples
Tuple Functions
Bytes and Byte Arrays
Sets and Dictionaries
Dictionary Characteristics
Accessing Values in Dictionaries
Updating Dictionaries
Properties of Dictionary Keys
Non Mutable Keys
Dictionary Methods

Module 4 : Control Flow and Operators

Module 5 : Functions

Module 6 : Modules

Control Flow Constructs
if Statement
else Statement
elif Statement
Nested if
while Loop
Infinite while Loop
for Loop
Iterating by Sequence Index
break Statement
continue Statement
Loop with else Combination
pass Statement
Python Operators
Operator Precedence
Functions
Function Syntax
Calling Functions
Pass by Value
Pass by Reference
Overwriting References
Function Arguments
Keyword Arguments
Default Arguments
Variable Length Arguments
Anonymous Functions
Syntax Lambda Functions
return Statement
Scope of Variables
Modules
import Statement
from…import Statement
Locating Modules
Creating and Using Modules
dir Function
Python Packages
Explict Import Modules
Implicit Import Modules
Namespaces and Scoping
globals and locals Functions
reload Function
Namespaces and Scoping
Test Harnass

Module 7 : Classes and Objects

Module 8 : Excepting Handling

Module 9 : Python IO

Object Orientation
Creating Classes
Class Members
Creating and Using Objects
Accessing Attributes
Property Syntax
Built-in Class Attributes
Constructors and Destructors
Encapsulation
Inheritance
Overriding Methods
Class Methods
Operator Overloading
Polymorphism
Unexpected Errors
Exception Handling
Typed Exception Handling
Exception Handling with Else
except Clause Multiple Exceptions
Standard Exceptions
try-finally Clause
Example try-finally
Exception Arguments
Raising Exceptions
Example raising Exceptions
User Defined Exceptions
Input and Output
IO Module
Opening Files
File Open Modes
Result of Calling open
File Object Attributes
Reading Binary Files
Writing Binary Files
Reading Text Files
Writing Text Files
File Positions
Renaming and Deleting Files
Directory Methods
Creating Directories

Module 10 : Comprehensions

Module 11 : Generators

Module 12 : Decorators

What are comprehensions?
Lambda Operator
Filter
Reduce and Map
Functional Programming
Generator comprehensions
List comprehensions
Dictionary comprehensions
Set comprehensions
What are Iterators?
Lazy evaluation
yielding versus returning
itertools module
What are Generators?
Generator expressions
Bidirectional communication
Chaining generators
Coroutines
What are Decorators?
Tweaking original object
Replacing original object
Decorators on classes
Decorators on functions
Copying the docstring
Examples in library
Deprecation of functions
while-loop removing decorator
Plugin registration system

Module 13 : Python Database Access

Module 14 : Python and XML

Module 15 : Python Libraries

Python DB API
DB API Concepts
Check Database Version
Using with
Inserting Data
Prepared Statements
Last inserted row id
Retrieving Data
Fetching Rows
Dictionary Cursor
Parameterized Queries
Metadata
Transactions
XML Parsing
XML Technologies
XML Processing Options
Python XML Libraries
The XML DOM
Building a DOM tree
Node Interface Model
DOM Navigation
DOM Manipulation
Simple API for XML
SAX Operation
SAX Callbacks
XML Parsing Models
Pull versus Push Parsing
XPath
XPath expressions
XPath axes
Regular Expressions
match Function
Matching versus Searching
Search and Replace
Network Layering
TCP/IP Layering
Connectionless Services
Connection Oriented Services
Socket utility functions
Asynchronous Servers
Unit Testing
Unit Test Example
Date and Time Handling
Time Tuple
struct-time
time Module
Calendar Functions

Kantooradres:
SpiralTrain BV

Gebouw "De Sijnsmeester"
Standerdmolen 8 – 1.11
3995 AA Houten

IP Computer Training Centrum
Diemerhof 32-36
1112 XN Diemen

020 7600027
http://www.ip-computer-training-centrum.nl

Compu Act Opleidingen
Slinge 303
3085 ER Rotterdam

023 - 551 3409
www.computertraining.nl

Trainspot
Kleine Singel 33
3572 CG Utrecht

030 - 737 05 81
http://www.trainspot.nl

IP Computer Training Centrum
Leenderweg 292
5644 AE Eindhoven

040 - 256 65 20
http://www.ip-computer-training-centrum.nl