Mastering Python Programming
5-Day Hands-On Workshop on Python Programming
Python is an elegant, powerful, object-oriented, high level programming language. It’s known for its use in developing applications rapidly and still resulting in maintainable, easy to read code. It has easy bindings with other language platforms like Java, Dot Net, C/C++ etc.
It can very well be the primary language of a software tester which he/she employs for day-to-day test automation needs as well as in design of general purpose test automation frameworks.
This 5-day workshop focuses on building a strong hold over the Python language so that beyond this workshop the participants can explore the language further and are able to put the language to a given use.
- High Level Striking Features of Python
- Interactive Python Command line
- Running Python Scripts using the interpreter
- Intermediate compiled formats and their optimization
- Significance of the mandatory white space
- Python statements – Single line, Multiple Line
- Printing Output in Various Formats
- The Multi-line String and its uses
- Handling User Input
- Python Modules Versus Python Scripts
- Manipulating Python path
- Declaring Python Variables
- A First Look At Error Handling versus Exceptions
- A First Look at In-Built Python Exceptions
- Numeric Types
- Boolean
- Complex Numbers
- Strings
- Understanding Raw Strings and their uses
- Understanding doc strings and their uses
- Python doesn’t Interpolate in strings
- Mutability Versus Immutability in Python
- What does immutable really mean?
- How Python determines type of a variable
- First Look at How Everything is an object in Python
- Python Garbage Collection
- Python types module for Types Checking
- Python Type Exceptions
- Type Conversion Functions
- Python Manifesto
- Python values Explicit than Explicit
- Understanding Python Division Operator
- Operator Overloading In Python
- How Overloading reduces Python Learner’s Memory requirement
- Default Overloaded Operators
- Python decimal module
- Operator Precedence
- Python Sequence Types – Lists and Tuples
- Declaring and Using Lists
- String as a Sequence Type
- Declaring and Using Tuples
- When to Use Lists versus When to Use Tuples
- Tuples as immutable lists
- Python’s implicit use of tuples
- Sequence unpacking
- Sequence slicing
- Sequence indexing
- Sequence Update
- Sequence Deletion
- Sequence assignments
- First Look At Python Nested Data Structures
- Sequence Appending and Extending
- Python Mapping Type – Dictionary
- Creating Dictionaries
- Updating Dictionaries
- Unsorted nature of dictionaries
- Constraints on Keys
- Building Nested Data Structures using Dictionaries
- When to use a dictionary
- Uses of tuples in a dictionary
- if/elif/else
- Relational Operators in Python
- Operator Overloading in relational operators
- Nesting conditional paths
- try/except/else/finally
- raise keyword
- Python’s built-in exception hierarchy
- Compounding conditions using logical operators
- The Python None type
- Nested calls and exceptions – stack unwinding
- Using Stack unwinding in debugging Python code
- How exceptions can be used in building logic
- Understanding traceback module
- while loop
- for loop
- range() method and its variants
- xrange() method and benefits
- Variants of for loop
- Concept of Iterables and iter() function
- Basic List comprehension in Python
- Python’s Exceptions related to looping
- Looping over index and value at the same time
- Function calling basics
- Call by Object Reference
- Default Arguments
- Keyword arguments
- Lambda
- Does Python support function overloading?
- How to do “call by value”?
- Dynamic Function calls
- importing existing modules
- Variants of import statements
- Caveats in imports
- Putting test code inside a module
- Packaging modules inside a package
- Introduction to OOP
- Which OOP features Python supports
- class keyword
- Inheritance
- Multiple Inheritance and Mixins
- Overriding
- Operator Overloading
- Making a class behave as a dictionary
- Overriding string representation of an object
- Power of Introspection
- Treating File As An Array
- Treating File As a Dictionary
- Treating File as a Bank Locker
- os
- os.path
- os.envrion
- sys
- shutil
- Using file based dbs
- PySQLite
- Basic generators
- Their use in test data generation
- Their use in Fuzzing
- Introduction to Web and HTTP
- Basic CGI using Python
- Using Django
- re module
- Commonly used RegEx expressions
- Compiled regular expressions
- Introduction to socket programming
- Writing a network client in Python
- Writing a network server
- HTTP client in Python
- Subprocess module
- Sharing envrionment variables
- Reading STDOUT/STDERR
- PyUnit
- Doc test
- Nose
- profiler
- Freshen
- Fitnesse and PyFIT
- ElementTree module
- Understanding how the concepts learned so far can be used in building a general purpose test framework
- Discussing about test automation architecture and how Python features can be used in the building the same

Hi,
I would like to know more about the Python training. Can you please provide me your contact details.
Thanks
Amit
@Amit
Sent the contact details to you on email. I look forward to discussing with you.
Hi Rahul I am Interested in learning python. Could you please mail me your contact details. My mail id is omkar.bagde@gmail.com and contact number is 09923223990.Waiting for your reply.
I am also interested in learning python, please help me by guiding me.
@Bappi,
You can start here: http://hwplpython.testingperspective.com/
Thanks for your help Rahul. I want to learn python, so do you take classes in mumbai.
@Bappi
Not so far. If there are enough inquiries, I would announce one in the near future. I’ll keep you posted.
Hello Rahul,
Even i’m from mumbai and pretty much interested in learning python, So how many enquirers you are expecting to start a course in Mumbai.
@Yamal,
Thanks for expressing interest.
A non-Bangalore workshop involves travel, stay and commute overheads.
I’d need a minimum of 10 pre-paid registrations to conduct a course in Mumbai the given course >= 3 days. I can ofcourse conduct a course of 5 days, where all 10 attendees subscribe for atleast the first 3 days and atleast 5 attendees go for the full 4/5 day course.
Regards,
Rahul
Hello Rahul Sir,
I am Bharane, from Madras, TN. I am currently learning the basics of Python on two different versions, 2.4 and 3.3. Now I have almost got some idea about programming in Python. I would like to get your suggestion if I can write a Python certification exam, and the process regarding it.
Thank you