Name
Python Fundamentals

Code
3780

Duration
32 Hours

Description
Python is an open source free portable powerful and a remarkable easy to learn programming language. Python is used for the development of server side applications as well as for developing stand alone ones. One of Python's main roles today is to serve as the glue that puts together various components developed in different languages. Python popularity continuously increases and some of the most popular exampels for using Python include the google search engine, the Bittornet files sharing system, the youtube platform and various scientific software systems as those developed by NASA as well as various financial software systems as those developed by JPMorgan, UBS and Chase. This course covers Python 3.0 fundamental topics.

Population
Software Programmers.

Objectives
Become familiar with the Python programming language and become capable of developing applications using that programming language.

Prerequisites
Practical experience in object oeirented programming.

Topics
Introduction
What is Python?
Python Advantages
Python VM
Jython
Modules

Types
Buit-in Types
Dynamically Typed
Numbers
Sequences
Mappings
Numeric Types
Numeric Literals
Operators
Operators Precedence
Mixed Types Conversion
Types Conversion
Variables
Comments
Floor Division
Classic Division
Floating Point Hardware Limitation
Chained Multiple Comparisons
Unlimited Precision Integers
Complex Numbers
The Math Module
Decimal Type
Fraction Type
Sets
Frozen Set
Booleans
Numeric Extensions
Variables Ojbects & References
Garbage Collector
Shared References
The == Operator
The is Operator
Strings
Strings Literals
The len() Function
Escape Code Sequences
Raw Strings
Triple Quotes
Strings Concatenation
The in Operator
Indexing & Slicing
Strings Conversion
String Methods
Strings Formatting
Dictionary Based Formatting
Mutabnle Types
Immutable Types
Lists
Dictionaries
Tuples
Working with Files

Statements
Introduction
Syntax
Try Statement
Assignments
Tuple & List Unpacking Assignmnet
Sequence Assignment
Extended Sequence Assignment
Multiple Target Assignment
Augmented Assignments
Useful Patterns
Variables Names Rules
Variables Names Conventions
Expression Statements
The print Built-in Function
The if Statements
The if/elif Multiway Branching
Truth Tests
The if/else Trenary Expression
The while Loop
The for Loop
Iterators
List Comprehensions
Extended List Comprehensions
The range Iterator
The map Iterator
The zip Iterator
The filter Iterator
Multiple Iterators
Dictionary View Iterators
Comments
The dir Function
The __doc__ Docstrings
The PyDoc Help
The Manual Set

Functions
Introduction
The def Statement
Variables Scope
Local Scope
Global Scope
The LEGB Rule
Accessing Globals
Nested Functions
Returned Functions
The nonlocal Statement
Arguments
Sequence Returned Value
The f(name) Syntax
The f(name=value) Syntax
The f(*name) Syntax
The f(**name) Syntax
The def f(name) Syntax
The def f(name=value) Syntax
The def f(*name) Syntax
The def f(**name) Syntax
Indirect Function Call
Functions as Objects
Function Attributes
Function Annotations
Anonymous Functions (Lambda)
Recursive Functions
Iterations
Comprehensions

Modules
Introduction
The import Statement
The from Statement
Execution First Time Only
Module Packages
Data Hiding
Transitive Module Reloads

Classes
Introduction to OOP
Python OOP
Simple Class
Inheritance
Simplest Class Definition
Operators Overloading
Static Methods
Decorators
Metaclasses

Exceptions
Introduction
The try
raise & except Statement
User Defined Exceptions
The finally Statement
The try
except & else Statement
The assert Assignment
The with/as Statement

Files
The open Function
The close Function
The read Function
The readlines Function
The writelines Function
Binary Files
Encoding
Text Files End Of Lines
Random Access File
Directories
The os.open Function
The os.listdir Function
The os.curdir Variable
The glob.glob Function

more