Python Programming 


This course focuses on software development using the Python programming language (3.7), and provides its participants with practical knowledge and experience more than any other similar course.

The course was developed for people with basic knowledge in software development. It can be either a programming course that was taken in the past or practical experience. In case of any doubt, the candidate should take the compatibility exam we developed. It is possible to take it online.

This course includes 40 academic hours delivered in 5 weekly full-day meetings, that take place in class, and 100 academic hours (and beyond) that take place at home. The training material (slides, video clips, assignments, solutions and code samples) for the entire course is organized on the e-learning platform we use during the course. Each meeting includes a theoretical lecture together with practical practice (at least 25% of each meeting). The practical practice includes coding by the instructor followed by the students and coding by the students with the assistance of the instructor. Each meeting is captured on video in order to allow the students effective learning process at home.

The course includes lots of relatively small assignments and a final project the students will develop as an open source project, that other Python developers will be able to use.

You can find more information about this course (40 academic hours) and the other longer one (90 academic hours) at https://python.course.lifemichael.com 

You can find a detailed document that describes the other longer course (90 academic hours) at http://python.course.lifemichael.com/description.pdf.

You can find more information about our company at
https://www.lifemichael.com 

You can find a list of reviews and feedbacks received from our students in the past at http://www.lifemichael.com/reviews 

You can start learning Python for free using our free guide at http://www.pythonbook.co.il 

Join our Python Developers Israel community at https://www.facebook.com/groups/432107526973780 


Meeting

Topic

1

Introduction

What is Python?

Why Python?

Real World Examples

Python History

Python Domains

Database Programming

The Python Software Foundation

The First Program

The Python Virtual Machine

Jython

IronPython

Types

The Built-in Types

The type Function

Dynamically Typed

Types Categories

The Numbers Category

The Sequences Category

The Set Category

The Mappings Category

Numeric Types

Numeric Literals

Mixed Types Conversion

Types Conversion

Variables

Complex Numbers

Hexadecimal, Octal and Binary

Binary Operations

Built-in Numeric Tools

Decimal Type

Fraction Type

Boolean Type

Numeric Extensions

Dynamic Typing

Variables, Objects and Refrence

Objects are Garbage Collected

Shared References

The sys.getrefcount() Function

Working with Files

Common File Operations

SL4A

Modules Import

Pythons Versions

Comments

The Python Package Index,

The Interactive Console

Operators

Introduction

Standard Operators

Operators Precedence

Floor and Classic Divisions

Chained Multiple Comparisons

Unlimited Precision Integers

Binary Operators

The -- Operators

The is Operator

Statements

Introduction

The Syntax

Try Statements

Assignments

Basic Form Assignment

Tuple and List Unpacking Assignment

Sequence Assignment

Extended Sequence Assignment

Multiple Target Assignments

Augmented Assignments

Useful Patterns

Variables Names Rules

Variables Names Conventions

Names Don’t Have Types

Expression Statements

The print Built-in Function

The if Statements

Multiway Branching

Truth Tests

The if/else Ternary Expression

The while Loop

The for Loop

Lists Comprehensions

Extended List Comprehensions

The range Function

The map Function

The zip function

The filter Function

The dir Function

The del Keyword

The None Constant

2

Functions

Introduction

The def Statement

Function Attributes

Variables Scope

The Local Scope

The nonlocal Keyword

The nonlocal Statement

The Global Scope

The LEGB Rule

Accessing Globals

Nested Functions

Returned Functions

Arguments

Sequence Returned Value

The func(name) Syntax

The func(name=value) Syntax

The func(*name) Syntax

The func(**name) Syntax

Indirect Function Call

Functions Are Objects

Functions Annotations

Anonymous Functions (Lambda)

Modules

Introduction

The import Statement

The from Statement

The as Statement

First Time Only

Object Oriented Programming

Introduction

Simple Class Definition

The Simples Python Class Definition

The __init__ Function

Inheritance

The super() Function

Polymorphism

Overriding and Overloading

Static Methods

Static Variables

Multiple Inheritance

Private Variables

3

Object Oriented Programming

Properties

The str Class

Magic Methods

The __str__ Magic Method

Operators Overloading

Binary Operators Overloading

Assignment Operators Overloading

Unary Operators Overloading

Comparison Operators Overloading

Exceptions

Introduction

The try, raise & except Statement

User Defined Exceptions

The finally Statement

The try, except & else Statement

Handling Multiple Exceptions

The as Optional Part

Accepting Multiple Exceptions

The with Statement

4

Collections

Introduction

Sets Overview

Sets’ Operators

Sets’ Methods

Iterating Sets

Creating Sets

Sets Comprehension

Lists Duplicates Removal

Frozen Sets

Strings

Strings Literals

Single and Double Quoted Strings

Implicit Concatenation

The len Function

Escape Code Sequences

Raw Strings

Triple Quotes

Strings Concatenation

The in Operator

Indexing and Slicing

Strings Conversion

Characters Conversion

Strings Methods

Strings Formatting Expression

Dictionary Based String Formatting

Mutable and Immutable Types

Lists Overview

Lists Operations

Dictionaries Overview

Dictionary Operations

Dictionary in Operator

Tuples Overview

Tuples Operations

The copy Function

The copy Module

Copy and Deep Copy

Files

Introduction

The open Function

The close Function

The read Function

The readlines and writelines Functions

Binary Files

Encoding

Text Files End of Lines

Random Access Files

The with Statement

Handling Binary Data

The byte string Type

The FileExistsError Exception

The FileNotFoundError Exception

The IsADirectoryError Exception

The NotADirectoryError Exception

The PermissionError Exception

Data Streaming

The pipes Module


Directories

Introduction

The os.popen Function

The os.listdir Function

The os.listdir Function

The os.curdir Variable

The os.curdir Variable

The glob Module

5

Regular Expressions

Introduction

Literals as Regular Expressions

The re.compile Function

The match Method

Meta Characters

Character Classes

Predefined Character Classes

Alternation

Quantifiers

Greedy & Reluctant Quantifiers

Boundaries

The findall Method

Functional Programming

Introduction

Recursive Functions

Pure Functions

Lambda Expressions

High Order Functions

Immutable Data

The yield Statement

Lazy Evaluation

Recursion instead of Loop

Parsing XML

Introduction

XML Parsing

The DOM Parsing

Parsing JSON

Introduction

The json Module

The json.dumps Function

The json.loads Function

Packages

Introduction

The sys.path Variable

The __init__.py File

The as Statement

The from import Statement

Threads

Introduction

The _thread Module

The threading Module

The Thread Class

The current_thread Function