Global training solutions for engineers creating the world's electronics

Essential Python SELF-PACED

Standard Level - 16 hours (estimated completion time)


PLEASE NOTE: This is a ONLINE SELF-PACED training.


Why Learn Python? Watch the video now! 

Python is a general 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, for data science and machine learning, 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.

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

Select the drop-down blocks below to find out more.

Essential Python is a hands-on programming course aimed at software, hardware, and support engineers who need to use Python for:

  • scripting development and tool flows
  • hardware verification
  • software test
  • data science and machine learning
  • or for running Python on embedded devices.
  • The syntax and semantics of the Python language
  • Python development environments, documentation, and resources
  • Details of some of the most commonly used modules in the Python Standard Library
  • How to use Python as a language for scripting tool flows
  • How to use Python for software test

This course assumes you already know how to write computer programs.

  • You 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.
  • 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.

If you require any of these precursor training options please contact the Doulos team to discuss what will best suit your needs, or complete an online enquiry.

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

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

Introduction

What is Python? • The Python World • Python Implementations • The Python Shell • Running Python Programs From a File • The Python Command Line

Language Basics

Numbers • Strings • Type Conversions • Built-in Functions • String Index • String Slice • String Methods • Find and Replace • Splitting Strings • Simple Formatting

Control Statements

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

Lists, Tuples, and Dictionaries

Lists • Length, Concatenate, Repeat • Append, Insert, Pop, Extend, Remove • Index • Loops and Lists • Sorting Lists • List Comparison • Tuples • Dictionaries • Sets 

Formatting

F-Strings • Field Width, Justification, Padding • Number Base, Comma, Sign • Floating Point 

Files and Exceptions

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

Classes

Classes • Objects • Methods • Constructors • Data Attributes • Class Variables and Instance Variables • Class vs Object vs Function vs Method • The LEGB Scope Rule • Documentation Strings 

Inheritance

Inheritance • Overriding Methods • Overriding the Constructor • Virtual Method Calls • Multiple Inheritance • Testing Class Relationships • Tying Variables to a Class • Duck Typing 

Copying Objects

Copying Instance Objects • Copying Lists • Assigning to a Slice • Shallow Copying 

Iterators and Generators

Sequence, Iterator, Iterable • Iterable Unpacking • Generators • List Comprehensions • Generator Expressions • lambda • map • filter, enumerate • zip • join • Dictionary Comprehensions 

Exploring Functions

Default and Keyword Arguments • Argument Lists • None • Type Hints • Functions as Objects • Higher-Order Functions • Decorator Pattern • A Useful Decorator • Closures 

Modules

import • from ... import • __name__ • Running Modules from the Command Line • Packages • The Python Package Index • pip 

The Standard Library

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

Regular Expressions

match • Group and Groups • Character Classes • Shorthands • Anchors • Greedy versus Non-greedy • search • findall • Filter the Output from Another Program • sub

Test-Driven Development 

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

All trademarks are acknowledged as the property of their respective holders.

Looking for team-based training, or other locations?

Complete an enquiry form and a Doulos representative will get back to you.

Enquiry FormPrice on request