Python is an agile, robust, expressive, fully objectoriented, extensible, and scalable programming language. It combines the power of compiled languages with the simplicity and rapid development of scripting languages. This course covers Python from the very basics of “hello world!” through to object oriented programming and advanced topics such as multi threading. Hands on follows all the major sections in order to reinforce the theory.
Anyone wishing to learn Python.
What is Python? Origins, features. Downloading and installing Python, Python manuals, comparing Python, other implementations.
Program output, the print statement, "hello world!", Program input, raw_input(), comments, operators, variables and assignment, numbers, strings, lists and tuples, dictionaries, indentation, if statement, while Loop, for loop. range(), list comprehensions. Files, open() and file() built-in functions. Errors and exceptions. Functions, Classes, Modules, useful functions.
Statements and syntax, variable assignment, identifiers, basic style guidelines, memory management, First Python programs, Related modules/developer tools.
Other built-in types, Internal Types, Standard type operators, Standard type built-in functions, Categorizing standard types, Unsupported types.
Integers, Double precision floating point numbers, Complex numbers, Operators, Built-in and factory functions, Other numeric types.
Sequences, Strings, Strings and operators, String-only operators, Built-in functions, String built-in methods, Special features of strings, Unicode, Summary of string highlights, Lists, Operators, Built-in functions, List type built-in methods, Special features of lists, Tuples, Tuple operators and built-in functions, Tuples special features, Copying Python objects and shallow and deep copies.
Mapping Type: dictionaries and operators, Mapping type built-in and factory functions, Mapping type built-in methods, Dictionary keys, Set types, Set type operators, Built-in functions, Set type built-in methods.
If, else and elif statements, Conditional expressions, while, for, break, continue and pass statements, else statement . . . take two, Iterators and iter(), List comprehensions, Generator expressions.
File objects, File built-in functions [open() and file()], File built-in methods and attributes, Standard files, Command-line arguments, File system, File execution, Persistent storage modules.
What are exceptions? Detecting and handling exceptions, Context management, Exceptions as strings, Raising exceptions, Assertions, Standard exceptions, Creating Exceptions, Why exceptions, Exceptions and the sys module.
Calling, creating and passing functions, formal arguments, variable-length arguments, functional programming, Variable scope, recursion, generators.
Modules and files, Namespaces, Importing modules, Module import features, Module built-in functions, Packages, Other features of modules.
Classes, Class attributes, Instances, Instance attributes, Binding and method invocation, Static methods and class methods, Composition, Sub-classing and derivation, Inheritance, Built-in functions for classes, and other objects, Customizing classes with special methods, Privacy, Delegation, Advanced features of new-style classes (Python 2.2+), Related modules and documentation.
Callable and code Objects, Executable object statements and built-in functions, Executing other programs. “Restricted” and “Terminating” execution, operating system interface.
Special symbols and characters, REs and Python, Regular expressions example.
Sockets: communication endpoints, Network programming in Python, SocketServer module, Twisted framework introduction.
What are internet clients? Transferring files, Network news, E-mail.
Threads and processes Python, threads, and the global interpreter lock, The thread and threading Modules.
Tkinter and Python programming, Tkinter Examples, Brief tour of other GUIs.
Web surfing with Python: creating simple web clients, Advanced Web clients, CGI: helping web servers process client data, Building CGI applications, Using Unicode with CGI, Advanced CGI, Web (HTTP) Servers.
Python database application programmer's interface (DB-API), ORMs.
Extending Python by writing extensions, Web Services, programming MS Office with Win32 COM, Python and Java programming with Jython.
"Excellent presentation - very good course structure."
"Hard concepts were explained very simply."
This structured training course seeks to build upon workbook learning through the use of group exercises, dynamic discussion and individual tasks in order to deliver an engaging and interactive module that will ensure all candidates are able to transfer their new skills into the workplace.