Code in Python And Realise Its Potential As An Elegant Language For Rapid Development Of Test Scripts And Applications
Why come to JBI Training for a Python course?
Python has a reputation for being a simple language that is easy to learn. And while this is partially true, there is a lot more to Python than most people realise. At JBI, we approach Python by instructor led live demonstrations in Eclipse/PyDev where delegates can type along with the instructor, making full use of the debugging capabilities of Eclipse. And although we start with the basics, we quickly advance to the more interesting subjects.
Object Orientation is covered in detail, with detailed memory diagrams providing the basis of understanding how classes and objects work in Python. But Python also serves as a great introduction to Functional Programming, allowing us to explore topics such as closures, comprehensions, generators and decorators. And of course one of the great strengths of Python is the extensive set of libraries. We take a tour of some of the more interesting libraries and even show how to interface to your own libraries written in C and C++, downloaded from a local repository using PIP.
Python is a dynamic object-oriented programming language. It offers strong support for integration with other development languages and tools, and comes with extensive standard libraries.
Python is used by Developers and Testers to develop automated test scripts and this course will help you learn how to develop such scripts.
Using Python correctly can lead to productivity gains and many users feel the language encourages the development of higher quality, more maintainable code.
Python is a powerful, popular, general purpose programming language used for both scripting and large scale software development.
There are numerous, high quality, open source libraries/frameworks available, for most application areas but especially for web-development(notably Django), test automation(notably Selenium), scientific/numeric processing, network programming, game development and GUI development.
Python's strongly typed nature makes it suitable for large scale development and its dynamic typing makes it useful for rapid application development.
The straightforward integration of C/C++ libraries allows Python to be used where fast execution time is important.
Our Python training course provides an overview of Python architecture, and intensive hands-on experience in the development and implementation of Python applications.
The course is made of 2 parts; the first 3 days are for Developers and Testers who are new to Python. The next 2 days are for developers who wish to explore Python further and learn more about building safer, more maintainable code for use within ntheir organisation.
This course has been developed for real-world, commercial scenarios by our expert instructors. See below for detailed syllabus. If you have a technical question, please email firstname.lastname@example.org
Python course part 1
Some programming experience, in any language.
Experience with a scripting language and/or an understanding of object oriented principles would be an advantage but is not required.
What will be gained
A sound knowledge of how to use Python effectively for software development and/or test automation.
The ability to confidently select and use appropriate libraries and frameworks.
Python course part 2
Experience of using Python, with a good understanding of its object oriented aspects and its use of namespaces.
What will be gained
The ability to write safer, more maintainable and efficient programs using Python idioms and design patterns.
An understanding of how libraries/frameworks use Python's more advanced facilities.
PART I (For testers and Developers) 3 days
History, uses, typing system (dynamic/strong), execution model
Integers, real numbers, strings, …
Lists, tuples, dictionaries, sets, …
If, while, for, iterators
Parameters, return values, variable positional/keyword arguments, defaults
Attributes, functions, classes, namespaces
Built-in functions, standard library
Handling, raising, custom exceptions, safe release of resources
Reading/writing, handling text/binary
Test driven development with assert, unit testing
Regular Expressions for searching/parsing/replacing text
Creating objects, methods, attributes, static methods
Django, Selenium. …
PART II (For Developers) 2 days
For cleaner design
For more efficient applications
For more compact code
For concise, readable code
For elegant solutions
For Aspect Oriented Programming e.g. for tracing, authentication
For safe release of resources
Data access control
For safer data access
For identification of bottlenecks
For more reliable code