Как работает хэш-таблица?
Хэш-таблица в Python реализована в виде словаря (dict). Вот как это работает:
— Хэширование ключей: когда вы добавляете пару ключ-значение в словарь, Python сначала вычисляет хэш-код ключа с помощью встроенной функции hash(). Хэш-код — это целое число, представляющее «отпечаток» ключа.
— Разрешение коллизий: если два разных ключа имеют одинаковый хэш-код (коллизия), Python использует механизм разрешения коллизий для размещения значений в памяти. Одним из наиболее распространенных методов разрешения коллизий является метод цепочек, когда для каждого «ячейки» хэш-таблицы выделен список, в который добавляются все значения с одинаковыми хэш-кодами.
— Поиск значения: при поиске значения по ключу Python сначала вычисляет хэш-код ключа и затем использует его для определения соответствующей «ячейки» в хэш-таблице. Затем происходит поиск значения внутри этой «ячейки» (или цепочки).
Хэш-таблица в Python реализована в виде словаря (dict). Вот как это работает:
— Хэширование ключей: когда вы добавляете пару ключ-значение в словарь, Python сначала вычисляет хэш-код ключа с помощью встроенной функции hash(). Хэш-код — это целое число, представляющее «отпечаток» ключа.
— Разрешение коллизий: если два разных ключа имеют одинаковый хэш-код (коллизия), Python использует механизм разрешения коллизий для размещения значений в памяти. Одним из наиболее распространенных методов разрешения коллизий является метод цепочек, когда для каждого «ячейки» хэш-таблицы выделен список, в который добавляются все значения с одинаковыми хэш-кодами.
— Поиск значения: при поиске значения по ключу Python сначала вычисляет хэш-код ключа и затем использует его для определения соответствующей «ячейки» в хэш-таблице. Затем происходит поиск значения внутри этой «ячейки» (или цепочки).
👍15❤4
  Это одна из самых полных шпаргалок из всех, что мы видели. Оформлена в виде веб-страницы с удобными гиперссылками по разделам. Кроме того, её можно скачать в PDF-формате.
⚡️ В шпаргалке также стоят отметки, которые говорят о том, в какой версии Python появилась та или иная фишка.
📌 Ссылка на шпаргалку
@python_job_interview
Please open Telegram to view this post
    VIEW IN TELEGRAM
  ❤10👍8🔥7
  Здесь раскрываются темы Python, с которыми могут возникать сложности, а именно:
— ООП, магические методы, атрибуты и методы объекта
— построение разных графиков для Data Science
— декораторы и подобные возможности Python
— тонкости работы с I/O операциями
В целом, отличный материал для подготовки к собеседованию
@python_job_interview
Please open Telegram to view this post
    VIEW IN TELEGRAM
  Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍19🔥7❤5
  Здесь приводится много информации, которая будет полезна начинающим и продвинутым питонистам: от базовых структур данных, ООП и работы с файлами — до создания асинхронных приложений и работы с SQL
@python_job_interview
Please open Telegram to view this post
    VIEW IN TELEGRAM
  Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍11❤7🔥2
  Здесь объясняются структуры данных, ООП, различные принципы и паттерны типа SOLID, обработка ошибок, написание тестов и много всего другого (в т.ч. алгоритмы сортировки), что можно освежить перед собеседованием
@python_job_interview
Please open Telegram to view this post
    VIEW IN TELEGRAM
  Please open Telegram to view this post
    VIEW IN TELEGRAM
  ❤8👍2🔥2
  Держите отличный учебник/туториал по продвинутым темам Python.
Здесь освещается большое количество разных тем, вот некоторые:
— ООП: классы, магические методы, атрибуты
— декораторы
— загрузка и предобработка датасета
— кросс-валидация
— построение разных графиков
@python_job_interview
Please open Telegram to view this post
    VIEW IN TELEGRAM
  Please open Telegram to view this post
    VIEW IN TELEGRAM
  ❤12🔥7👍3
  Здесь собрана теория с подробным объяснением тем Computer Science, таких как алгоритмы, динамическое программирование, рекурсия
+ теория и практика по Python
Настоятельно рекомендуется к ознакомлению
@python_job_interview
Please open Telegram to view this post
    VIEW IN TELEGRAM
  Please open Telegram to view this post
    VIEW IN TELEGRAM
  🔥9👍6❤3
  В частности, здесь описывается использование Pandas для решения таких задач:
— прогнозирование временных рядов
— разведочный анализ данных EDA
— простой анализ датасета NYC
— анализ исторических данных
@python_job_interview
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍14❤4🔥1
  Контекстные процессоры (context processors) в Django - это функции, которые добавляют глобальные переменные в контекст перед рендерингом шаблона. Эти переменные могут быть использованы в любом шаблоне в приложении, и не нужно передавать их каждый раз при рендеринге каждого шаблона вручную.
Контекстные процессоры в Django имеют доступ к объекту request, который содержит информацию о запросе, и могут использоваться для добавления переменных в контекст на основе этой информации.
Например, контекстный процессор может добавлять текущего пользователя в контекст, что позволит проверять доступности функционала приложения на страницах, доступных только зарегистрированным пользователям.
Вот пример функции-контекстного процессора, которая добавляет текущего пользователя в контекст:
def user_context(request):
    return {'user': request.user}Чтобы использовать этот контекстный процессор в вашем приложении Django, добавьте его в настройки проекта в списке CONTEXT_PROCESSORS.
Например:
# Файл
settings.py# ...
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                # ...
                'myapp.context_processors.user_context',
            ],
        },
    },
]Теперь переменная user будет доступна в любом шаблоне вашего приложения.
@python_job_interview
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍9❤7🥰2
  Списковое включение — самый эффективный способ итерации любого списка.
Это итерирование однострочного списка с включением в него цикла. Посмотрите приведенный выше пример кода, чтобы понять, как это работает.
@python_job_interview
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍22❤4🔥4
  Полезная подборка бесплатных ресурсов для изучения Python, разных практических проектов и т.д.
Кое-что из этого неплохо бы освежить перед собеседованием, а некоторые другие ссылки пригодятся для создания релевантного портфолие
Отдельного внимания из всего этого заслуживает, конечно, гарвардский курс лекций по Python, вот отдельная ссылка
@python_job_interview
Please open Telegram to view this post
    VIEW IN TELEGRAM
  Please open Telegram to view this post
    VIEW IN TELEGRAM
  ❤12👍9❤🔥4
  