Essential Python ONLINE

Standard Level – 4 sessions                                 CEST time: 10:00 – 14:00

view dates and locations

Why Learn Python? Watch the video now!

 

Python is a generaPythonl purpose programming language that was designed to be compact, easy to use, easy to extend, and which has a large standard library and a very active development community. As well as being a general purpose programming language, Python is widely used as a scripting language, a glue language, and for software test.

Essential Python is intended for professionals working in the electronic systems hardware and embedded software development flows. Essential Python is for people who need to learn Python quickly to get a specific job done. It focusses on the most commonly used features of the Python language and teaches you all you need to know to start using Python properly and effectively.

Essential Python is delivered as a 2-day public face-to-face training course or 4 sessions of live online training.

Workshops comprise approximately 50% of class time and are based around carefully designed hands-on exercises to reinforce learning.

Who should attend?

Essential Python is a hands-on programming course aimed at embedded software, hardware, and support engineers who need to use Python for scripting development and tool flows, for hardware verification, for software test, or for running Python on embedded devices.

What will you learn?

  • The syntax and semantics of the Python language
  • Python development environments, documentation, and resources
  • How to manage the differences between Python 2.x and Python 3.x
  • An overview of the Python Standard Library
  • Details of some of the most used modules in the Python Standard Library
  • How to use Python as a language for scripting tool flows
  • How to use Python for embedded software test
  • Optional: Further Python modules for specific applications

 

Pre-requisites

This course assumes you already know how to write computer programs. Delegates should have a good working knowledge of at least one programming language or hardware description language, suitable examples being C, C++, Java, Perl, VHDL, or SystemVerilog. An understanding of object-oriented programming would be beneficial, but is not absolutely essential. Delegates with no prior knowledge of object-oriented programming are encouraged to read up on the subject before the course, for example here or here or here.

This course is not suitable as an introductory course in computer programming, that is, this course does not teach Python as a first programming language. Please contact Doulos direct to discuss and assess your specific experience against the pre-requisites.

Training materials

Doulos training materials are renowned for being the most comprehensive and user friendly available. Their style, content and coverage is unique in the embedded systems training world, and has made them sought after resources in their own right. The materials include:

  • Fully indexed class notes creating a complete reference manual
  • Workbook full of practical examples and solutions to help you apply your knowledge

 

Structure and Content

Introduction

What is Python? • The Python World • The Python Shell • The Zen of Python • Running Python Programs From a File • IDLE

Language Basics

Numbers • Strings • Type Conversions • String Index • String Slice • String Methods • Simple Formatting

Control Statements

Comments • if Statements • Comparison and Boolean Operators • Operators • for Statements • break • continue • while Statements • assert Statements • Functions • global Variables • nonlocal Variables • Lines and Continuation • IDLE

Lists, Tuples, and Dictionaries

Lists • List Append, Insert, Pop • Loops and Lists • Sorting Lists • List Comparison • Tuples • Dictionaries • Sets

Formatting

Accessing Arguments • Field Width, Justification, Padding • Number Base, Comma, Sign • Floating Point

Files and Exceptions

Reading Standard Input • Writing to a File • Reading from a File • Variations • readline • Exceptions • Context Manager

Classes

Classes and Methods • Constructors • Bundling Data Attributes • Class Variables and Instance Variables • Class vs Object vs Function vs Method • Global, Local, Class, and Instance Variables • Documentation Strings

Inheritance

Inheritance • Virtual Method Calls • Multiple Inheritance • Testing Class Relationships • Tying Variables to a Class • Duck Typing

Copying Objects

Copying Class Objects • Copying Lists • Shallow and Deep Copies

Iterators and Generators

Sequence versus Iterator • Iterables and Iterators • Generators • List Comprehensions • Generator Expressions • lambda • map • filter, enumerate • zip • join • Dictionary Comprehensions

Exploring Functions

Default and Keyword Arguments • Argument Lists • None • Functions are Objects, def is a Statement • Decorators • Parameterized Decorators • Closures

Python 2 versus Python 3

Syntax • Type Conversion • Strings and Bytes • Iterables • Arithmetic

Modules

import • from … import • __name__ • Packages

The Standard Library

math • random • statistics • datetime • time • timeit • os • shutil • glob • sys • subprocess

Regular Expressions

match • search • findall • Filter the Output from Another Program • sub • Basic Regular Expression Syntax

Test-Driven Development

What is TDD? • The TDD Process • The Four-Phase Test Pattern • Fakes and Test Doubles

Unit Testing

A Simple Unit Test • From the Command Line • Test Discovery • Test Fixture • Assert Methods • Specific Error Messages • Adding a Message Argument • Testing Exceptions • Subtests • Skipping Tests • Expected Failures • Test Suites • Test Suites within Suites • Redirecting or Inspecting Results

Doulos


Datum
18 februari 2019 - 21 februari 2019

Locatie
Online
Your home office

Online

Prijs
€ 0,00
of
28 Xilinx Training Credits

Informatie
Training brochure

Registratieformulier

Registratie op aanvraag, neem contact op met ons.