مطالب پیشنهادی از سراسر وب

دوره شیرجه عمیق به پایتون 3 - بخش 3 - Hash Maps

دسته بندی ها: آموزش های ویژه ، آموزش های یودمی (Udemy) ، آموزش پایتون (Python)

دیکشنری ها، مجموعه ها و ساختار داده های مرتبط

توضیحات دوره:

این دوره نگاهی عمیق به دیکشنری های پایتون می اندازد. 

دیکشنری ها در پایتون همه جا فراگیر هستند. کلاس ها، ماژول ها، namespaces،  مجموعه ها دیکشنری هستند و موارد دیگر.

در این دوره نگاهی عمیق تر به مباحث زیر می اندازیم:

  • آرایه های انجمنی و نحوه اجرای آنها با استفاده از Hash Maps
  • توابع هش و اینکه چگونه می توانیم از آنها برای کلاس های سفارشی خود استفاده کنیم
  • دیکشنری ها و مجموعه های پایتون و عملیات مختلفی که می توانیم با آنها انجام دهیم
  • ساختارهای تخصصی دیکشنری مانند OrderedDict و نحوه ارتباط آن با Python3.6+ dict
  • پیاده سازی چندمجموعه پایتون و کلاس Counter 
  • کلاس ChainMap
  • نحوه ایجاد دیکشنری های سفارشی با ارث بردن از کلاس UserDict
  • نحوه سریال سازی و deserialize دیکشنری ها به JSON
  • استفاده از طرحواره های سریال سازی JSON سفارشی
  • مقدمه ای مختصر برای برخی از کتابخانه های مفید مانند JSONSchema ،Marshmallow ،PyYaml و Serpy

***** پیش نیازها*****

لطفاً توجه داشته باشید که این یک دوره نسبتاً پیشرفته پایتون است و دانش قوی در مورد برخی از موضوعات در پایتون لازم است.

فراتر از اصول اولیه پایتون (حلقه ها، دستورهای شرطی، مدیریت استثناء، انواع داده های داخلی، ایجاد کلاس ها و غیره)، همچنین باید درک عمیقی از موضوعات زیر داشته باشید:

  • توابع و برنامه نویسی تابعی (بازگشت، *args ، زیپ، **kwargs، مرتب سازی، هر ، همه، مپ و غیره)
  • لامبدا، closures و دکوراتورها (شامل دکوراتورهای استاندارد مانند @singledispatch و @wraps)
  • iterables، iterators، اپراتورها و مدیران متن
  • named tuples
  • مقیاس متغیر و namespaces (جهانی، لوکال ها و غیره)

برای این دوره شما همچنین نیاز به نصب کتابخانه های شخص ثالث دارید ، بنابراین باید با استفاده از ابزار مورد نظر خود (به عنوان مثال pip، conda و غیره) این کار را انجام دهید.

سرانجام، اکثر کد های این دوره با استفاده از  Jupyter Notebooks آزادانه در دسترس نشان داده شده است ، بنابراین شما نیز به آن نیاز خواهید داشت.

این دوره برای چه کسی مناسب است؟

توسعه دهندگان Python که می خواهند درک عمیق تری از دیکشنری های پایتون و مباحث مربوط به آن داشته باشند.

آنچه یاد خواهید گرفت

  • آرایه های انجمنی
  • جداول هش و توابع هش
  • پیاده سازی جدول های هش پایتون
  • دیکشنری ها و مجموعه ها
  • تعریف توابع هش برای کلاس های سفارشی ما و اینکه چرا مفید است
  • ایجاد دیکشنری های سفارشی با استفاده از کلاس UserDict
  • defaultdict
  • OrderedDict و Python3.6+ equivalences
  • Counter (چندمجموعه)
  • ChainMap
  • Serialization و Deserialization
  • serialization/deserialization جیسون
  • معرفی کتابخانه های شخص ثالث JSONSchema، Marshmallow، PyYaml و Serpy 

پیش نیازها:

  • این یک دوره پیشرفته است، بنابراین یک پایه محکم پایتون ضروری است
  • Jupyter Notebooks
  • برنامه نویسی تابعی (زیپ، مپ، مرتب شده، هر، تمام و غیره)
  • لامبدا، closures و دکوراتورها
  • دکوراتورهای داخلی مانند @lru_cache و @singledispatch و @wraps
  • iterables، iterators، ژنراتورها و مدیران متن
  • مقیاس متغیر و namespaces (جهانی، لوکال ها و غیره)
  • توانایی نصب کتابخانه های شخص ثالث (مثل نصب پیپ)

سایر بخش های دوره:

سرفصل های دوره

  • مقدمه
    • بررسی دوره
    • پیش نیازها
  • آرایه های انجمنی - تئوری
    • معرفی
    • آرایه های انجمنی
    • Hash Maps
    • دیکشنری های پایتون
    • تابع ()hash پایتون
  • دیکشنری ها
    • معرفی
    • ایجاد دیکشنری ها - لکچر
    • ایجاد دیکشنری ها - کدنویسی
    • عملیات متداول - لکچر
    • عملیات متداول - کدنویسی
    • Dictionary Views - لکچر
    • Dictionary Views - کدنویسی
    • به روزرسانی، ادغام کردن و کپی کردن - لکچر
    • به روزرسانی، ادغام کردن و کپی کردن - کدنویسی 
    • کلاس های سفارشی و هش کردن - لکچر
    • کلاس های سفارشی و هش کردن - کدنویسی
  • تمرینات کدنویسی
    • تمرینات
    • راه حل 1
    • راه حل 2
    • راه حل 3
    • راه حل 4
  • مجموعه ها
    • معرفی
    • تئوری مجموعه اولیه
    • مجموعه های پایتون
    • ایجاد مجموعه ها - لکچر
    • ایجاد مجموعه ها - کدنویسی
    • عملیات متداول - لکچر
    • عملیات متداول - کدنویسی 
    • به روزرسانی عملیات - لکچر
    • به روزرسانی عملیات - کدنویسی
    • کپی کردن مجموعه ها - لکچر
    • کپی کردن مجموعه ها - کدنویسی
    • Frozen Sets - لکچر
    • Frozen Sets - کدنویسی
    • Dictionary Views - لکچر
    • Dictionary Views - کدنویسی
  • پروژه 1
    • پروژه 1 - اهداف
    • پروژه 1 - راه حل
  • سریال سازی و Deserialization
    • مقدمه
    • Pickling - لکچر
    • Pickling - کدنویسی
    • سریال سازی JSON - لکچر
    • سریال سازی JSON - کدنویسی
    • رمزگذاری سفارشی JSON - لکچر
    • رمزگذاری سفارشی JSON - کدنویسی
    • استفاده از JSONEncoder - لکچر
    • استفاده از JSONEncoder - کدنویسی
    • رمزگشایی JSON سفارشی - لکچر
    • رمزگشایی JSON سفارشی - کدنویسی
    • استفاده از JSONDecoder - لکچر
    • استفاده از JSONDecoder - کدنویسی
    • JSON Schema
    • Marshmallow
    • PyYaml
    • Serpy
  • تمرینات کدنویسی
    • تمرینات
    • راه حل 1
    • راه حل 2
    • راه حل 3
  • دیکشنری های مخصوص
    • مقدمه
    • DefaultDict - لکچر
    • DefaultDict - کدنویسی
    • OrderedDict - لکچر
    • OrderedDict - کدنویسی
    • OrderedDict و Python 3.6 Dicts
    • Counter - لکچر
    • Counter - کدنویسی
    • ChainMap - لکچر
    • ChainMap - کدنویسی
    • UserDict - لکچر
    • UserDict - کدنویسی
  • تمرینات کدنویسی
    • تمرینات
    • راه حل 1
    • راه حل 2
    • راه حل 3

ویدئوهای دوره:

پیش نیازها

​​​​​​​

آیا این نوشته را دوست داشتید؟
Python 3: Deep Dive (Part 3 - Hash Maps) Publisher:Udemy Author:Fred Baptiste Duration:20.5 h Level:Advanced

Dictionaries, Sets, and Related Data Structures

Description

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.

Who this course is for:

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

What you'll learn

  • 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

Requirements

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)

Course content

  • 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

پیشنهاد آموزش مرتبط در فرادرس

خرید لینک های دانلود
  • حجم فایل: 10.13GB
  • زبان: انگلیسی
  • زیرنویس انگلیسی: ندارد
  • قیمت: 10000 تومان
  • دوره شیرجه عمیق به پایتون 3 - بخش 3 - Hash Maps یک محصول ویژه است و دریافت لینک های دانلود آن با پرداخت هزینه امکان پذیر است. اطلاعات بیشتر