Python advanced
Python advanced
Overview: Python is one of the most amazing languages and user-friendly language. People are using this for pen-testing, Game Development, Search engine, and secure network programming.
Pre Requisite: You must have knowledge of 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