Python 3: Deep Dive (Part 3 - Hash Maps)

Training

Online

up to £ 100

Description

  • Type

    Training

  • Methodology

    Online

  • Start date

    Different dates available

"This course is an in-depth look at Python dictionaries.

Dictionaries are ubiquitous in Python. Classes are essentially dictionaries, modules are dictionaries, namespaces are dictionaries, sets are dictionaries and many more.

In this course we'll take an in-depth look at:

-associative arrays and how they can be implemented using hash maps

-hash functions and how we can leverage them for our own custom classes

-Python dictionaries and sets and the various operations we can perform with them

-specialized dictionary structures such  as OrderedDict and how it relates to the built-in Python3.6+ dict

-Python's implementation of multi-sets, the Counter class

-the ChainMap class

-how to create custom dictionaries by inheriting from the UserDict class

-how to serialize and deserialize dictionaries to JSON

-the use of schemas in custom JSON deserialization

-a brief introduction to some useful libraries such as JSONSchema, Marshmallow, PyYaml and Serpy



***** Prerequisites *****

Please note that this is a relatively advanced Python course, and a strong knowledge of some topics in Python is required. 

Beyond the basics of Python (loops, conditional statements, exception handling, built-in data types, creating classes, etc), you should also have an in-depth understanding of the following topics:

-functions and functional programming (recursion, *args, **kwargs, zip, map, sorted, any, all, etc)

-lambdas, closures and decorators (including standard decorators such as @singledispatch, @wraps, etc)

-iterables, iterators, generators and context managers

-named tuples

-variable scopes and namespaces (globals, locals, etc)

For this course you will also need to install some 3rd party libraries, so you need to be comfortable with doing this using the tool of your choice (e.g. pip, conda, etc)

Finally, most of the code in this course is illustrated using the freely available  Jupyter Notebooks, so you will need that as well.

"

Facilities

Location

Start date

Online

Start date

Different dates availableEnrolment now open

About this course

"Associative Arrays
Hash Tables and Hash Functions
Python's implementation of hash tables
Dictionaries and Sets
Defining hash functions for our custom classes and why that is useful
Creating customized dictionaries using the UserDict class
defaultdict
OrderedDict and Python3.6+ equivalences
Counter (multi-sets)
ChainMap
Serialization and Deserialization
JSON serialization/deserialization
Intro to JSONSchema, Marshmallow, PyYaml and Serpy 3rd party libraries"

Python developers who want a deeper understanding of Python dictionaries and related topics

"This is an advanced course, so a solid Python foundation is necessary
Jupyter Notebooks
functional programming (zip, map, sorted, any, all, etc)
lambdas, closures and decorators
built-in decorators such as @lru_cache, @singledispatch and @wraps
iterables, iterators, generators and context managers
variable scopes and namespaces (globals, locals, etc)
ability to install 3rd party libraries (e.g. pip install)"

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

This centre's achievements

2020

All courses are up to date

The average rating is higher than 3.7

More than 50 reviews in the last 12 months

This centre has featured on Emagister for 3 years

Subjects

  • Project
  • Structures
  • map
  • Python
  • JSONDecoder
  • JSON Data
  • JSON
  • Programming
  • Programming platform
  • Programming languaje
  • Computer Science
  • Web Development
  • Web Programming
  • WebGIS system
  • Coding
  • Coding project
  • Developers
  • HTML
  • Technology
  • Machine Learning

Course programme

"Introduction Course Overview Prerequisites Associative Arrays - Theory! Introduction Associative Arrays Hash Maps Python Dictionaries Python's hash() Function Dictionaries Introduction Creating Dictionaries - Lecture Creating Dictionaries - Coding Common Operations - Lecture Common Operations - Coding Dictionary Views - Lecture Dictionary Views - Coding Updating, Merging, and Copying - Lecture Updating, Merging, and Copying - Coding Custom Classes and Hashing - Lecture Custom Classes and Hashing - Coding Coding Exercises Exercises Solution 1 Solution 2 Solution 3 Solution 4 Sets Introduction Basic Set Theory Python Sets Creating Sets - Lecture Creating Sets - Coding Common Operations - Lecture Common Operations - Coding Set Operations - Lecture Set Operations - Coding Update Operations - Lecture Update Operations - Coding Copying Sets - Lecture Copying Sets - Coding Frozen Sets - Lecture Frozen Sets - Coding Dictionary Views - Lecture Dictionary Views - Coding Project 1 Project 1 - Goals Project 1 - Solution Serialization and Deserialization Introduction Pickling - Lecture Pickling - Coding JSON Serialization - Lecture JSON Serialization - Coding Custom JSON Encoding - Lecture Custom JSON Encoding - Coding Using JSONEncoder - Lecture Using JSONEncoder - Coding Custom JSON Decoding - Lecture Custom JSON Decoding - Coding Using JSONDecoder - Lecture Using JSONDecoder - Coding JSON Schema Marshmallow PyYaml Serpy Coding Exercises Exercises Solution 1 Solution 2 Solution 3 Specialized Dictionaries Introduction DefaultDict - Lecture DefaultDict - Coding OrderedDict - Lecture OrderedDict - Coding OrderedDict and Python 3.6 Dicts Counter - Lecture Counter - Coding ChainMap - Lecture ChainMap - Coding UserDict - Lecture UserDict - Coding Coding Exercises Exercises Solution 1 Solution 2 Solution 3"

Python 3: Deep Dive (Part 3 - Hash Maps)

up to £ 100