Advanced Python


In this instructor-led, live training, participants will learn advanced Python programming techniques, including how to apply this versatile language to solve problems in areas such as distributed applications, data analysis and visualization, UI programming and maintenance scripting.

    Format of the Course

    • Interactive lecture and discussion.
    • Lots of exercises and practice.
    • Hands-on implementation in a live-lab environment.

    Course Customization Options

    • If you wish to add, remove or customize any section or topic within this course, please contact us to arrange.


    • Beginner to intermediate programming experience.
    • Knowledge of math and statistics.
    • Knowledge of database concepts.

      Course Outlines


      • Python versatility: from data analysis to web crawling

      Python Data Structures and Operations

      • Integers and floats
      • Strings and bytes
      • Tuples and lists
      • Dictionaries and ordered dictionaries
      • Sets and frozen sets
      • Data frame (pandas)
      • Conversions

      Object-Oriented Programming with Python

      • Inheritance
      • Polymorphism
      • Static classes
      • Static functions
      • Decorators
      • Other

      Data Analysis with Pandas

      • Data cleaning
      • Using vectorized data in pandas
      • Data wrangling
      • Sorting and filtering data
      • Aggregate operations
      • Analyzing time series

      Data Visualization

      • Plotting diagrams with matplotlib
      • Using matplotlib from within pandas
      • Creating quality diagrams
      • Visualizing data in Jupyter notebooks
      • Other visualization libraries in Python

      Vectorizing Data in Numpy

      • Creating Numpy arrays
      • Common operations on matrices
      • Using ufuncs
      • Views and broadcasting on Numpy arrays
      • Optimizing performance by avoiding loops
      • Optimizing performance with cProfile

          Processing Big Data with Python

          • Building and supporting distributed applications with Python
          • Data storage: Working with SQL and NoSQL databases
          • Distributed processing with Hadoop and Spark
          • Scaling your applications

          Extending Python (and vice versa) with Other Languages

          • C#
          • Java
          • C++
          • Perl
          • Others

          Data Serialization

          • Python object serialization with Pickle

          Python Multi-Threaded Programming

          • Modules
          • Synchronizing
          • Prioritizing

          UI Programming with Python

          • Framework options for building GUIs in Python
            • Tkinter
            • Pyqt

          Python for Maintenance Scripting

          • Raising and catching exceptions correctly
          • Organizing code into modules and packages
          • Understanding symbol tables and accessing them in code
          • Picking a testing framework and applying TDD in Python

          Python for the Web

          • Packages for web processing
          • Web crawling
          • Parsing HTML and XML
          • Filling web forms automatically

          Summary and Conclusion