This course presents a straightforward, broad and deep introduction to Python, its syntax and semantics, and its module ecosystem.
Python is a versatile language, and has has found use as a scripting language, in numerical applications, in embedded programming, in natural language processing, in web and GUI programming, and in the information security industry. Its focus on readability makes it an excellent medium for development in the open-source world as well as in the enterprise.
Do you see Python programming in your future? Then this course is for you — we will build up a useful and necessary toolset, from the basic building blocks to larger bits and pieces.
(This course targets Python 2, but we can target Python 3 on demand.)
You should have basic programming knowledge, either in Python or in some other language.
Having taken our *Beginning Python* course is a sufficient requirement.
What you will learn
- A syntax crash course
- The REPL
- Essential data structures
- Object orientation
- Attributes, properties and descriptors
- Duck typing
- Functions and functional programming
- Arguments and parameter passing
- Dynamic and lexical scoping
- The lambda operator and higher-order functions
- Functional programming with collections
- Some important modules: sys, os, posix, string
- Generators, iterators, and comprehensions
- Exception handling
- Regular expressions
- TDD and Python
- SQLAlchemy and Elixir
- GUI development
- Web programming
- Templating (Mako, Genshi, Jinja)
- Web scraping and web client programming
- Threads and concurrency
- from future import
- Alternative implementations: from PyPy to Pyjamas
- Python 3