Python Programming
Objectives
- To be able to write programs in Python.
- To master the rich set of Python libraries and modules.
- Understand procedural control flow in Python
- Use Object Oriented programming techniques
Audience
- This is a beginner course suitable for anyone wanting to use Python for developing applications, writing test for QA or using it for system administration.
Course Format
- Duration of the course is 24-32 academic hours. (Usually 3-4 days).
- The course includes approximately 40% hands on lab work.
- In the 4 day long version we allocate more time for exercises and have more time for individual help.
- The course can be given in either using Python 2 or Python 3
Prerequisites
- Basic programming background in a programming language such as C, Java, Javascript, Perl, PHP or Ruby, just to name a few.
- Experience with a text editor like emacs, vi, pico or notepad.
- Understanding of files and directories.
Syllabus
Introduction to Python
- Installing Python
- Where and why to use Python
- Using the Python interactive interpreter
- Documentation and how to get help?
- Indentation
Scalar types and operators
- Strings
- Numbers
- Split
- String slices
- Immputable strings
Collection types and operators
- Lists
- List slices
- Tuples
- Dictionaries (hashes)
- Sets
- Sorting
- Queues
- Stack
- Collections
- Iterables
- Mutable and immutable
Functions subroutines
- Function parameters
- Positional parameters
- Named parameters
- Default values
- Optional parameters
- Return values
- Function documentation
- Lambda functions
Control flow
- For loops
- While loops
- Loop controls
- Conditionals
- Chained comparison
- Enumerate
- Boolean and logical operators
IO
- print formatting
- read/write files
Regular expression (pattern matching)
- Matching all
- Searching for a single match
- Meta characters
- Character classes
- Special character classes
- Quantifiers
- Alternatives
- Modifier flags
- Anchors
- Back-references
- Substitution
- Split
The Python standard library
- Filesystem related functions
- Running external processes
Creating modules
- Loading a module
- Finding a module in a private directory
- Changing the search path to a relative directory
- Importing selected functions
- Namespaces
- Creating executable module
Exception handling
- Creating non-fatal warnings
- Catching exceptions
- Handling exceptions
- Throwing a new exception
- The final block
- Creating your own exception
Object Oriented Programming
- Defining classes
- Initializing objects
- Methods
- Attributes or members
- The self
- Inheritance
Additional uses
- Installing and using 3rd party modules
- Writing simple web scraping program
- Writing simple Web application
- Accessing SQL databases
- Reading and writing Excel files
Let's talk
If you would like to bring this course to your organization, let's talk about it! You can reach me via email at gabor@szabgab.com or you can go ahead and schedule a chat: