Python advanced

Python advanced

817338_cb9c_2

Overview :   Python is one of the most amazing language and user-friendly language.  People are using this for pentesting ,  Game Development , Search engine and secure network programming .

Pre Requirement :   You must have knowledge of python  core

for more detail about python  core

 check here :

 http://www.adhoclabs.io/training/programming-tracks/python-core/

Course outline

Classes / Objects 

– Understanding classes and objects 
– Using methods 
– Using object data 
– Understanding inheritance 
– Applying polymorphism to classes 
– Using generators 
– Using decorators

Containers
– Creating Adv sequences with tuples and lists 
– Operating on sequences with built-in methods 
– Organizing data with dictionaries 
– Operating on character data with bytes and byte arrays

File I/O
– Adv File Handling Functions
– Reading and writing binary files

Exceptions
– Learning how exceptions work in Depth
– Handling exceptions
– Raising exceptions
– Catching exceptions

Functions
– Using named function arguments
– Returning values from functions and Adv Functions
– Creating a sequence with a generator function

Modules
– Using standard library modules
– Finding third-party modules
– Creating a module
– How multi-file Python programs can be bundled into packages

Reg Expressions
– Using the re module
– Searching with regular expressions
– Replacing with regular expressions
– Reusing regular expressions with re.compile
– The match Function
– The search Function
– Regular-expression patterns
– Backreferences

CGI Programming
– What is CGI ?
– CGI Architecture Diagram
– HTTP Header
– CGI Environment Variables
– GET and POST Methods
– Using Cookies in CGI
– File Upload
– How To Raise a “File Download” Dialog Box

DataBase Access
– Creating a database 
– Creating, retrieving, updating, and deleting records 
– Creating a database object

Socket
– Socket Module and Family
– Server Socket Methods
– Client Socket Methods
– Python Internet modules
– Python Socket Library and Modules

Networking
– Accessing the Network and Internet
– Accessing LAN Resources
– Interacting with Web Pages
– Connecting to FTP Sites
– How to fetch Web content by using Python

Sending Mail
– Python Sending Email using SMTP
– Sending an HTML email using Python
– Sending Attachements as an e-mail

Multi Threading
– Starting a New Thread with Thread Module
– The Threading Module
– Synchronizing Threads
– Multithreaded Priority Queue

GUI Programming
– Tkinter Programming
– Creating a Basic GUI application
– Tkinter Widgets

Debugging
– Dealing with syntax errors
– Dealing with runtime errors
– Dealing with logical errors
– Using unit tests

Porting Python Code
– Python 2 vs Python 3
– Using the 2 to 3 Utility
– Built-in Python 3 utility for performing an “automatic” code conversion

Data Structures
range
List Comprehensions
Nested List Comprehensions
Dictionary Comprehensions
Dictionaries with Compound Values
Processing Lists in Parallel
Specialized Sorts
Time Functionality
Generators

Processes and Threads

  • Running Shell Commands

  • Popen Objects

  • Using Parallel Processing

  • Using Python’s os.fork() Function

  • Using os.exec*() Variants

  • Exercises

  • Python Threads

  • The threading Module

  • Thread Objects

  • Custom Thread Objects

  • Working with Locks

  • Using Reentrant Locks

  • Condition Objects

  • Exercises

  • Using the Queue Object

  • Using Semaphores

  • Using with for Locks, RLocks, Condition & Sempahores

  • Event Objects

  • Timer Objects

  • Processing Exit Codes

  • Exercises

  • The multiprocessing Module

  • Using multiprocessing

  • Exchanging Objects

  • Using Pipes

  • Synchronization

  • Using multiprocess Managers

Python Decorators

  • About Decorators

  • Simple Function Decorators

  • Classes as Decorators

  • Chained Decorators

  • Decorator Arguments

  • Exercises