Класс Enum
В Python есть специальный модуль enum, который позволяет создавать перечисления. Они нужны, когда у тебя есть набор именованных констант. Как пользоваться перечислениями – узнаешь из этого видео.
👀Смотреть видео
#видео
В Python есть специальный модуль enum, который позволяет создавать перечисления. Они нужны, когда у тебя есть набор именованных констант. Как пользоваться перечислениями – узнаешь из этого видео.
👀Смотреть видео
#видео
🔥5👍2
Работаем с файлами: Чтение данных
Python предлагает несколько способов чтения файлов. Самый простой – read(). Он читает сразу все данные. Он подойдет для небольших файлов, но если вес больше 2 ГБ, работает неэффективно.
Также есть readline(). Он построчно считывает информацию. Это особенно полезно при анализе логов. Третий вариант работает аналогично, просто выглядит более читабельно.
А если тебе необходимо работать с большими данными, воспользуйся read(size). Ты можешь указать размер информации, который необходимо получить.
#практика
Python предлагает несколько способов чтения файлов. Самый простой – read(). Он читает сразу все данные. Он подойдет для небольших файлов, но если вес больше 2 ГБ, работает неэффективно.
Также есть readline(). Он построчно считывает информацию. Это особенно полезно при анализе логов. Третий вариант работает аналогично, просто выглядит более читабельно.
А если тебе необходимо работать с большими данными, воспользуйся read(size). Ты можешь указать размер информации, который необходимо получить.
#практика
👍13
Практический гайд по Alignment
При работе с LLM тебе жизненно необходим Alignment. Это метод дообучения, он делает ответы полезными, безопасными и соответствующими твоим намерениям. В данной статье автор рассказывает, какие методы применяются в современных моделях и как их адаптировать под себя.
👉Читать статью
#статьи
При работе с LLM тебе жизненно необходим Alignment. Это метод дообучения, он делает ответы полезными, безопасными и соответствующими твоим намерениям. В данной статье автор рассказывает, какие методы применяются в современных моделях и как их адаптировать под себя.
👉Читать статью
#статьи
Словарь defaultdict
У модуля collections есть специальный тип словаря defaultdict. Это почти то же самое, что обычный dict, только у него есть значение по умолчанию для новых ключей. Для чего это нужно – узнаешь из видеоматериала.
👀Смотреть видео
#видео
У модуля collections есть специальный тип словаря defaultdict. Это почти то же самое, что обычный dict, только у него есть значение по умолчанию для новых ключей. Для чего это нужно – узнаешь из видеоматериала.
👀Смотреть видео
#видео
👍3
Работа с кодировками
При открытии текстового файла Python должен понять, в какой кодировке сохранен текст. Если кодировка указана неверно, могут появится ошибки чтения. По умолчанию системная кодировка – UTF-8, но до сих пор встречаются старые кодировки.
Лучше всего указывать кодировку явно, как показано на первом примере. В противном случае если файл не в UTF-8, возникнет ошибка UnicodeDecodeError. Кодировку можно определять с помощью библиотеки chardet.
#практика
При открытии текстового файла Python должен понять, в какой кодировке сохранен текст. Если кодировка указана неверно, могут появится ошибки чтения. По умолчанию системная кодировка – UTF-8, но до сих пор встречаются старые кодировки.
Лучше всего указывать кодировку явно, как показано на первом примере. В противном случае если файл не в UTF-8, возникнет ошибка UnicodeDecodeError. Кодировку можно определять с помощью библиотеки chardet.
#практика
🔥12
Pandas: Лучшие методы
В данной статье автор рассказывает, какие методы лучше всего помогут тебе с первичной обработкой больших данных. А в комментариях под этим постом ты можешь поделиться своими лайфхаками!
👉Читать статью
#статьи
В данной статье автор рассказывает, какие методы лучше всего помогут тебе с первичной обработкой больших данных. А в комментариях под этим постом ты можешь поделиться своими лайфхаками!
👉Читать статью
#статьи
🔥14👍1
Именные кортежи namedtuple
namedtuple – это удобный способ создать неизменяемый класс-объект, у которого есть имена для полей, а не только индексы. Благодаря данному видео ты узнаешь, как пользоваться namedtuple.
👀Смотреть видео
#видео
namedtuple – это удобный способ создать неизменяемый класс-объект, у которого есть имена для полей, а не только индексы. Благодаря данному видео ты узнаешь, как пользоваться namedtuple.
👀Смотреть видео
#видео
👍5🔥1
Работа с бинарными файлами
В отличие от текстовых файлов, бинарные нельзя интерпретировать как символы. Необходимо использовать специальные режимы: rb(read binary) и wb (write binary). Метод .read() вернет объект типа bytes – последовательность байтов.
Во втором примере продемонстрировано, как можно скопировать любой бинарный файл. А большие файлы лучше читать блоками, чтобы не перезагружать память (смотри последний пример).
#практика
В отличие от текстовых файлов, бинарные нельзя интерпретировать как символы. Необходимо использовать специальные режимы: rb(read binary) и wb (write binary). Метод .read() вернет объект типа bytes – последовательность байтов.
Во втором примере продемонстрировано, как можно скопировать любой бинарный файл. А большие файлы лучше читать блоками, чтобы не перезагружать память (смотри последний пример).
#практика
👍13
Что такое Subinterpreters?
Обычно при запуске скрипта создается один главный интерпретатор. Он управляет объектами, памятью, модулями, а GIL не дает выполнять байткод в нескольких поток параллельно. Именно благодаря subinterpreter ты можешь запустить еще один независимый интерпретатор со своим GIL. Как это работаешь – узнаешь из текстового материала.
👉Читать статью
#статьи
Обычно при запуске скрипта создается один главный интерпретатор. Он управляет объектами, памятью, модулями, а GIL не дает выполнять байткод в нескольких поток параллельно. Именно благодаря subinterpreter ты можешь запустить еще один независимый интерпретатор со своим GIL. Как это работаешь – узнаешь из текстового материала.
👉Читать статью
#статьи
👍6🔥2
Классы IntEnum и StrEnum
Кроме обычного enum, существуют специализированные классы: IntEnum и StrEnum. Они наследуют поведение от встроенных типов int и str соответственно. Для чего это нужно – узнаешь из этого видео.
👀Смотреть видео
#видео
Кроме обычного enum, существуют специализированные классы: IntEnum и StrEnum. Они наследуют поведение от встроенных типов int и str соответственно. Для чего это нужно – узнаешь из этого видео.
👀Смотреть видео
#видео
Управление файлами и папками
Кроме чтения и записи файлов часто нужно проверить, существует ли файл, создать папку или удалить ее. Для этого есть два инструмента: os и pathlib.
В первом примере продемонстрировано, как проверить наличие файла. Во втором мы создаем папку. Параметр exist_ok=True уберегает от ошибки, если папка уже есть. А в конце показано, как удалять файлы и папки.
#практика
Кроме чтения и записи файлов часто нужно проверить, существует ли файл, создать папку или удалить ее. Для этого есть два инструмента: os и pathlib.
В первом примере продемонстрировано, как проверить наличие файла. Во втором мы создаем папку. Параметр exist_ok=True уберегает от ошибки, если папка уже есть. А в конце показано, как удалять файлы и папки.
#практика
👍17🤣1
Может ли AI реально помочь с рефакторингом легаси-кода?
В данном материале автор демонстрирует на практике, как с помощью ChatGPT можно за несколько минут преобразить реально существующие фрагменты легаси-кода на Python.
👉Читать статью
#статьи
В данном материале автор демонстрирует на практике, как с помощью ChatGPT можно за несколько минут преобразить реально существующие фрагменты легаси-кода на Python.
👉Читать статью
#статьи
1👍12
Упорядоченный словарь OrderedDict
OrderedDict – это специальный словарь, который сохраняет порядок добавления элементов. Существуют несколько отличий от обычного dict. Благодаря видеоматериалу ты узнаешь, какие именно отличия есть у OrderedDict.
👀Смотреть видео
#видео
OrderedDict – это специальный словарь, который сохраняет порядок добавления элементов. Существуют несколько отличий от обычного dict. Благодаря видеоматериалу ты узнаешь, какие именно отличия есть у OrderedDict.
👀Смотреть видео
#видео
🔥10
Зачем нужны массивы?
Массивы – одна из базовых структур данных. Она позволяет хранить набор однотипных элементов и быстро обращаться к ним по индексу.
Есть несколько способов объявления массива. Самая часто используемая структура – списки. Они могут хранить элементы разных типов и динамически изменяться. Однако они занимают больше памяти и работают медленнее, чем специализированные массивы.
Также есть array. Они хранят только один тип данных, при этом занимают меньше памяти6 чем списки. Если же нужно работать с большим объемом данных, воспользуйся numpy. Там реализована поддержка многомерных массивов и матриц.
#практика
Массивы – одна из базовых структур данных. Она позволяет хранить набор однотипных элементов и быстро обращаться к ним по индексу.
Есть несколько способов объявления массива. Самая часто используемая структура – списки. Они могут хранить элементы разных типов и динамически изменяться. Однако они занимают больше памяти и работают медленнее, чем специализированные массивы.
Также есть array. Они хранят только один тип данных, при этом занимают меньше памяти6 чем списки. Если же нужно работать с большим объемом данных, воспользуйся numpy. Там реализована поддержка многомерных массивов и матриц.
#практика
👍21🔥4
Оптимизация Django под высокие нагрузки
Когда проект растет в размерах, производительность будет становиться все хуже и хуже. В данной статье автор рассказывает, как ты можешь оптимизировать Django-сервис и значительно сократить время ответа на запросы.
👉Читать статью
#статьи
Когда проект растет в размерах, производительность будет становиться все хуже и хуже. В данной статье автор рассказывает, как ты можешь оптимизировать Django-сервис и значительно сократить время ответа на запросы.
👉Читать статью
#статьи
🤣3