Всем привет! 👋
Меня зовут Тимофей, я Python Engineer с опытом в 3+ года.
Впрочем, более подробно обо мне и о моем пути разработчика вы сможете узнать из этой статьи.
Я создал данный канал, потому что хочу развиваться и быть полезным для других людей.
Здесь я буду рассказывать правду об ИТ-сфере, о языке Python и интересных технологиях, основываясь на своем рабочем опыте, а также буду высказывать свое мнение насчет разных новостей из мира ИТ.
Давайте развиваться вместе!😏
#статья
Меня зовут Тимофей, я Python Engineer с опытом в 3+ года.
Впрочем, более подробно обо мне и о моем пути разработчика вы сможете узнать из этой статьи.
Я создал данный канал, потому что хочу развиваться и быть полезным для других людей.
Здесь я буду рассказывать правду об ИТ-сфере, о языке Python и интересных технологиях, основываясь на своем рабочем опыте, а также буду высказывать свое мнение насчет разных новостей из мира ИТ.
Давайте развиваться вместе!
#статья
Please open Telegram to view this post
VIEW IN TELEGRAM
vc.ru
Личный путь и опыт становления Python разработчиком — Личный опыт на vc.ru
Всем привет! В этой статье, а точнее целой истории, я хотел бы поделиться своим путем становления в качестве разработчика на Python и рассказать о некоторых идеях и советах, которые я усвоил за это время. Начиная с моих первых проектов и заканчивая моей текущей…
❤17🔥4👌2
#мнение — мое личное мнение о тех или иных вещах из мира ИТ
#статья — перевожу и пишу про особенности Python и его инструментов для решения прикладных задач
#джоук — мемы и шутеечки про АйТи
#новости — держу в курсе последних ИТ-новостей
#полезное — делюсь прочитанными книгами, пройденными курсами и т.д.
#tip — коротко рассказываю о фишках стандартной библиотеки Python и других инструментов
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10🔥3👏2
Массовые увольнения в ИТ: шанс или конец? 🔥
Вы 100% слышали о череде массовых увольнений в ИТ:
Одни лишь Google, Microsoft и Amazon уволили по разным данным около 80к человек. В множестве компаний замораживают найм новых сотрудников, а также сокращают или же переводят на бенч сразу целые команды.
Мы не будем погружаться в причины происходящего, ведь они всегда комплексные: кризис, беспрецедентный рост и «раздутие» компаний и т.д.
Увольняют и увольняют. Что дальше?
У тысяч людей, которые хотели и хотят войти в ИТ возникают совершенно нормальные мысли:
Что мне делать в условиях кризиса? Дождаться лучших времен и вернуться к этому позже? А кому я там нужен? В индустрии огромная конкуренция, шансов у меня нет.
У любого нормального человека возникнут подобные мысли, достаточно увидеть астрономическое количество откликов на вакансии на условном hh или LinkedIn. Но что это значит? Неужели нет иного выхода, кроме как смириться?
Мой ответ: выход есть всегда.
В своей жизни я придерживаюсь примерно такой логике: если я чего-то хочу на протяжении долго времени, значит это мне реально нужно.
Еще со школьных лет я хотел стать программистом. Изначально это были детские мечты, но позже они переросли в нечто большее. Как итог: я работаю в ИТ уже более 3-х лет.
Всегда можно успокоить себя отговорками: кризис, плохая погода, отсутствие времени и т.д. Я не хочу умолять чужие проблемы. Конечно, у кого-то и вправду есть веские причины отказаться от своей мечты. В жизни бывает всякое. Но все же давайте себе признаемся: чаще всего это и вправду отговорки.
Никто не хочет выходить из зоны комфорта. Ведь для того, чтобы попасть в ИТ нужно постоянно развиваться, много учиться и практиковаться, постоянно откликаться и искать вакансии, участвовать в собесах и т.д.
Но никто и не говорил, что будет просто.
Главная мысль, которую я хотел донести в этом посте довольно краткая и простая: выигрывает тот, кто не останавливается.
Рано или поздно кризис закончится. Он не вечен. Закончатся увольнения, переводы на бенч. После этого откроется окно возможностей. И ответьте на следующий вопрос сами:
У кого будет преимущество после окончания кризиса?
У тех, кто на протяжении этих трудностей ничего не делал для своего профессионального роста и устройства в ИТ, или же у тех, кто все также продолжал учиться и развиваться, делал пет-проекты, изучал новые технологии?
#мнение
Вы 100% слышали о череде массовых увольнений в ИТ:
Одни лишь Google, Microsoft и Amazon уволили по разным данным около 80к человек. В множестве компаний замораживают найм новых сотрудников, а также сокращают или же переводят на бенч сразу целые команды.
Мы не будем погружаться в причины происходящего, ведь они всегда комплексные: кризис, беспрецедентный рост и «раздутие» компаний и т.д.
Увольняют и увольняют. Что дальше?
У тысяч людей, которые хотели и хотят войти в ИТ возникают совершенно нормальные мысли:
Что мне делать в условиях кризиса? Дождаться лучших времен и вернуться к этому позже? А кому я там нужен? В индустрии огромная конкуренция, шансов у меня нет.
У любого нормального человека возникнут подобные мысли, достаточно увидеть астрономическое количество откликов на вакансии на условном hh или LinkedIn. Но что это значит? Неужели нет иного выхода, кроме как смириться?
Мой ответ: выход есть всегда.
В своей жизни я придерживаюсь примерно такой логике: если я чего-то хочу на протяжении долго времени, значит это мне реально нужно.
Еще со школьных лет я хотел стать программистом. Изначально это были детские мечты, но позже они переросли в нечто большее. Как итог: я работаю в ИТ уже более 3-х лет.
Всегда можно успокоить себя отговорками: кризис, плохая погода, отсутствие времени и т.д. Я не хочу умолять чужие проблемы. Конечно, у кого-то и вправду есть веские причины отказаться от своей мечты. В жизни бывает всякое. Но все же давайте себе признаемся: чаще всего это и вправду отговорки.
Никто не хочет выходить из зоны комфорта. Ведь для того, чтобы попасть в ИТ нужно постоянно развиваться, много учиться и практиковаться, постоянно откликаться и искать вакансии, участвовать в собесах и т.д.
Но никто и не говорил, что будет просто.
Главная мысль, которую я хотел донести в этом посте довольно краткая и простая: выигрывает тот, кто не останавливается.
Рано или поздно кризис закончится. Он не вечен. Закончатся увольнения, переводы на бенч. После этого откроется окно возможностей. И ответьте на следующий вопрос сами:
У кого будет преимущество после окончания кризиса?
У тех, кто на протяжении этих трудностей ничего не делал для своего профессионального роста и устройства в ИТ, или же у тех, кто все также продолжал учиться и развиваться, делал пет-проекты, изучал новые технологии?
#мнение
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🤩3🔥1🤔1
Написал короткую статью о плагине Codeium: автодополнение кода при помощи AI
Довольно интересный инструмент, который неплохо справляется с созданием базовых шаблонов.
Например, плагин может сгенерировать готовый класс на основе указанных в комментарии атрибутов.
Инструмент бесплатный, поставляется в виде расширения для вашей IDE, установить можно тут
#полезное
Довольно интересный инструмент, который неплохо справляется с созданием базовых шаблонов.
Например, плагин может сгенерировать готовый класс на основе указанных в комментарии атрибутов.
Инструмент бесплатный, поставляется в виде расширения для вашей IDE, установить можно тут
#полезное
🔥6👍2🏆2
Дорожные карты в ИТ на 2023 год 📈
Дорожная карта - это единый достоверный источник информации, который описывает концепцию, направление развития, приоритеты и прогресс работы над чем-либо с течением времени.
Если вы еще не пользуетесь сервисом roadmap.sh, то очень рекомендую начать. Репозиторий в GitHub собрал уже 229k звездочек.
Сервис будет полезен как полным новичкам, так и уже опытным разработчикам. Вы сможете найти совершенно разные дорожные карты по языкам программирования, направлениям и технологиям.
С недавнего времени разработчики добавили интерактивность: можно отмечать изученные темы/подтемы и пользоваться соответствующими материалами.
#полезное
Дорожная карта - это единый достоверный источник информации, который описывает концепцию, направление развития, приоритеты и прогресс работы над чем-либо с течением времени.
Если вы еще не пользуетесь сервисом roadmap.sh, то очень рекомендую начать. Репозиторий в GitHub собрал уже 229k звездочек.
Сервис будет полезен как полным новичкам, так и уже опытным разработчикам. Вы сможете найти совершенно разные дорожные карты по языкам программирования, направлениям и технологиям.
С недавнего времени разработчики добавили интерактивность: можно отмечать изученные темы/подтемы и пользоваться соответствующими материалами.
#полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
roadmap.sh
Developer Roadmaps
Step by step guides and paths to learn different tools or technologies
👍9🤩4👌2
Как изучать Python для веб-разработки в 2023 году 🤷♂
Написал статью на Хабре о том, как изучать Python для веб-разработки.
Я бы не назвал данный материал полноценным роадмэпом в том понимании, в котором это слово обычно используют. В статье нет сроков изучения, отсутствует подробный план, затрагивающей все темы и подтемы. Да и зачем нужен еще один роадмэп "под копирку", когда в сети и так хватает качественных предложений.
Скорее, я хотел составить абстрактный план обучения, который сможет задать общий ориентир, а также будет коррелировать с роадмэпом вроде roadmap.sh, о котором я писал ранее.
Кроме этого, я смогу дать несколько полезных советов из своего опыта, а также оставлю списки полезных ресурсов для изучения языка, сопутствующих инструментов и технологий, которые в свое время помогли или же помогают мне самому.
#статья #полезное
Написал статью на Хабре о том, как изучать Python для веб-разработки.
Я бы не назвал данный материал полноценным роадмэпом в том понимании, в котором это слово обычно используют. В статье нет сроков изучения, отсутствует подробный план, затрагивающей все темы и подтемы. Да и зачем нужен еще один роадмэп "под копирку", когда в сети и так хватает качественных предложений.
Скорее, я хотел составить абстрактный план обучения, который сможет задать общий ориентир, а также будет коррелировать с роадмэпом вроде roadmap.sh, о котором я писал ранее.
Кроме этого, я смогу дать несколько полезных советов из своего опыта, а также оставлю списки полезных ресурсов для изучения языка, сопутствующих инструментов и технологий, которые в свое время помогли или же помогают мне самому.
#статья #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥3🏆2
Tip of the day: Работа с @датаклассами в Python💻
Понимаю, что людям интересен разнообразный и полезный контент. В связи с этим, придумал для вас что-то вроде постоянной рубрики "Фишка дня". В таких постах буду максимально коротко рассказывать о фишках стандартной библиотеки питона и других инструментов. Начинаем!
Сегодня поговорим о такой полезной конструкции, как @датаклассы.
Dataclasses — это модуль, представленный в Python 3.7, предоставляющий простой способ создания классов, которые можно использовать для хранения данных. В целом, датакласс — это удобная структура, в которой можно хранить объекты, состоящие из различных данных.
Можно выделить несколько преимуществ использования датаклассов:
✅ Краткий синатксис: вам всего лишь нужно импортировать нужный декоратор и готово — можно пользоваться @dataclass
✅ Автоматическое создание методов: датаклассы могут автоматически генерировать
✅ Неизменяемые экземпляры: датаклассы можно настроить для создания неизменяемых экземпляров, что делает их более надежными для использования в параллельном программировании.
Когда использовать?
Датаклассы можно использовать в любой ситуации, когда вам необходимо создать объекты для хранения данных. Например, для хранения конфигов приложения или же данных, которые далее будут передаваться между различными частями приложения.
Более того, есть отличная библиотека, которая дополняет стандартный функционал — при ее помощи можно сериализовать датаклассы в JSON и обратно.
#полезное #tip
Понимаю, что людям интересен разнообразный и полезный контент. В связи с этим, придумал для вас что-то вроде постоянной рубрики "Фишка дня". В таких постах буду максимально коротко рассказывать о фишках стандартной библиотеки питона и других инструментов. Начинаем!
Сегодня поговорим о такой полезной конструкции, как @датаклассы.
Dataclasses — это модуль, представленный в Python 3.7, предоставляющий простой способ создания классов, которые можно использовать для хранения данных. В целом, датакласс — это удобная структура, в которой можно хранить объекты, состоящие из различных данных.
Можно выделить несколько преимуществ использования датаклассов:
init
, repr
и другие специальные методы на основе атрибутов, определенных в классе.Когда использовать?
Датаклассы можно использовать в любой ситуации, когда вам необходимо создать объекты для хранения данных. Например, для хранения конфигов приложения или же данных, которые далее будут передаваться между различными частями приложения.
Более того, есть отличная библиотека, которая дополняет стандартный функционал — при ее помощи можно сериализовать датаклассы в JSON и обратно.
#полезное #tip
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥2👏2
А вы знаете, чем отличается оператор == от is ?
Стартую экспериментальную рубрику, где буду показывать и объяснять интересные фишки Питона в виде викторины. Объяснение ответа через некоторое время буду скидывать в комментарии. Поехали!
Стартую экспериментальную рубрику, где буду показывать и объяснять интересные фишки Питона в виде викторины. Объяснение ответа через некоторое время буду скидывать в комментарии. Поехали!
👍11🔥5
❤1
Tip of the day: Генераторы списков в Python 🧙♂️
На днях выкачу большую статью о ИИ, название будет звучать примерно так: «ChatGPT в качестве помощника питонисту: опыт после 3 месяцев использования, преимущества, возможности, ограничения».
Ну а пока что расскажу вам о удобной и чисто питоничной конструкции, как генераторы списков.
Генераторы списков представляют собой мощный инструмент, позволяющий создавать списки с помощью всего лишь одной строки кода. В свою очередь, это позволяет избавиться от вложенных циклов, т.е. создавать списки более эффективно и кратко, сокращая количество кода и упрощая чтение/сопровождение.
Одним из примеров использования генераторов списков является создание списка, содержащего квадраты чисел от 0 до 9:
Это может быть особенно полезно, если требуется создать список чисел, например, для последующей обработки.
Генераторы списков также могут использоваться для фильтрации значений:
При этом генераторы списков позволяют использовать условия и фильтры для создания списков с определенными характеристиками.
Кроме того, генераторы списков могут использоваться для создания вложенных списков:
Такая конструкция окажется полезной, если требуется создать многомерные или же вложенные списки.
#полезное
На днях выкачу большую статью о ИИ, название будет звучать примерно так: «ChatGPT в качестве помощника питонисту: опыт после 3 месяцев использования, преимущества, возможности, ограничения».
Ну а пока что расскажу вам о удобной и чисто питоничной конструкции, как генераторы списков.
Генераторы списков представляют собой мощный инструмент, позволяющий создавать списки с помощью всего лишь одной строки кода. В свою очередь, это позволяет избавиться от вложенных циклов, т.е. создавать списки более эффективно и кратко, сокращая количество кода и упрощая чтение/сопровождение.
Одним из примеров использования генераторов списков является создание списка, содержащего квадраты чисел от 0 до 9:
squares = [x**2 for x in range(10)]
Этот код создаст список [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]. Это может быть особенно полезно, если требуется создать список чисел, например, для последующей обработки.
Генераторы списков также могут использоваться для фильтрации значений:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = [x for x in numbers if x % 2 == 0]
Этот код создаст список четных чисел: [2, 4, 6, 8, 10]. При этом генераторы списков позволяют использовать условия и фильтры для создания списков с определенными характеристиками.
Кроме того, генераторы списков могут использоваться для создания вложенных списков:
matrix = [[i+j for i in range(3)] for j in range(3)]
Этот код создаст матрицу 3х3: [[0, 1, 2], [1, 2, 3], [2, 3, 4]]. Такая конструкция окажется полезной, если требуется создать многомерные или же вложенные списки.
#полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥5🤩1
Форматируй строки как про в Python 🦾
Если вспомнить постулаты Zen of Python, то мы можем отметить один из пунктов: «должен существовать один, и желательно, только один очевидный способ сделать это».
Вы наверняка используете f-строки на постоянной основе и никогда не задумывались о существовании других методов форматирования. Но, на самом деле в Python существует как минимум четыре основных способа форматирования строк. Итак, давайте немного подробнее остановимся на каждом из них.
1. «Классическое» форматирование строковых значений
Строковые значения в Python имеют уникальную встроенную операцию, к которой можно обратиться через оператор %. Этот оператор представляет собой краткую форму, которая позволяет очень легко выполнять простое позиционное форматирование:
Вывод: Привет, Дима
Кроме того, к подстановкам переменных в своей форматной строке можно обращаться по имени. В этом случае в оператор % следует передать словарь с отображением имен на соответствующие им значения:
Данный способ достаточно удобный, т.к. вам не нужно волноваться о порядке, в котором вы передаете значения, Обратной стороной приема является то, что он требует набирать чуть больше текста.
2. «Современное» форматирование строковых значений
С приходом Python 3 появился новый способ форматирования строк. Форматирование теперь обрабатывается вызовом функции format() со строковым объектом. Функция
с «классическим» форматированием:
В целом синтаксис форматной строки стал мощнее, не усложнив при этом более простые варианты использования.
В Python 3 «современному» форматированию строк отдается предпочтение по сравнению с форматированием с использованием %. Однако, начиная с Python 3.6, появился еще более оптимальный способ форматирования строковых значений, называемый f-строками или же интерполяцией.
3. Интерполяция строк
Python 3.6 добавляет еще один способ форматирования строк, который называется форматированными строковыми литералами или же f-строками. Этот новый способ форматирования строк позволяет использовать выражения Python, которые встраиваются в строковые константы. Ниже есть простой пример:
В новом синтаксисе форматирования заложена большая мощь. Поскольку он позволяет встраивать произвольные выражения Python, вы даже можете выполнять локальные арифметические действия, как показано ниже:
4. Шаблонные строки
Еще один прием форматирования строк в Python представлен шаблонными строками. Этот механизм более простой и менее мощный, но в некоторых случаях он может оказаться именно тем, что вы ищете.
Давайте взглянем на простой пример приветствия:
Вы, вероятно, зададитесь вопросом: "А в каких случаях использовать шаблонные строки?"
Самым лучшим вариантом по мнению Дэна Бейдера, известного автора множества книг по питону, является применение шаблонных строк в том случае, когда вы обрабатываете строки, поступающие от пользователей. Благодаря их уменьшенной сложности, шаблонные строки являются более безопасным вариантом обработки. И согласитесь, в этом есть смысл!
Итак, на выходе мы имеем 4 разных вида форматирования строк. Но когда какой использовать? К большому счастью, все тот же Дэн Бейдер в своей книге "Чистый Python" дает краткий и лаконичный ответ на этот вопрос:
"Если форматирующие строки поступают от пользователей, то используйте шаблонные строки, чтобы избежать проблем с безопасностью. В противном случае используйте интерполяцию литеральных строк при условии, что вы работаете с Python 3.6+, и «современное» форматирование строк — если нет".
Если вспомнить постулаты Zen of Python, то мы можем отметить один из пунктов: «должен существовать один, и желательно, только один очевидный способ сделать это».
Вы наверняка используете f-строки на постоянной основе и никогда не задумывались о существовании других методов форматирования. Но, на самом деле в Python существует как минимум четыре основных способа форматирования строк. Итак, давайте немного подробнее остановимся на каждом из них.
1. «Классическое» форматирование строковых значений
Строковые значения в Python имеют уникальную встроенную операцию, к которой можно обратиться через оператор %. Этот оператор представляет собой краткую форму, которая позволяет очень легко выполнять простое позиционное форматирование:
“Привет, %s” % name
->Вывод: Привет, Дима
Кроме того, к подстановкам переменных в своей форматной строке можно обращаться по имени. В этом случае в оператор % следует передать словарь с отображением имен на соответствующие им значения:
"Привет, %(name)! Вот твоя задача на сегодня: %(task)" %
{"name": name, "task": task }
Вывод: Привет, Дима! Вот твоя задача на сегодня: доделать парсерДанный способ достаточно удобный, т.к. вам не нужно волноваться о порядке, в котором вы передаете значения, Обратной стороной приема является то, что он требует набирать чуть больше текста.
2. «Современное» форматирование строковых значений
С приходом Python 3 появился новый способ форматирования строк. Форматирование теперь обрабатывается вызовом функции format() со строковым объектом. Функция
format()
может применяться для выполнения простого позиционного форматирования, точно так же, как вы могли поступать в случаес «классическим» форматированием:
"Привет, {}".format(name)
Вывод: Привет, ДимаВ целом синтаксис форматной строки стал мощнее, не усложнив при этом более простые варианты использования.
В Python 3 «современному» форматированию строк отдается предпочтение по сравнению с форматированием с использованием %. Однако, начиная с Python 3.6, появился еще более оптимальный способ форматирования строковых значений, называемый f-строками или же интерполяцией.
3. Интерполяция строк
Python 3.6 добавляет еще один способ форматирования строк, который называется форматированными строковыми литералами или же f-строками. Этот новый способ форматирования строк позволяет использовать выражения Python, которые встраиваются в строковые константы. Ниже есть простой пример:
f"Привет, {name}"
Вывод: Привет, ДимаВ новом синтаксисе форматирования заложена большая мощь. Поскольку он позволяет встраивать произвольные выражения Python, вы даже можете выполнять локальные арифметические действия, как показано ниже:
a = 5
b = 10
f"Пять плюс десять равняется {a + b}, а не {2 * (a + b)}"
Вывод: Пять плюс десять равняется 15, а не 304. Шаблонные строки
Еще один прием форматирования строк в Python представлен шаблонными строками. Этот механизм более простой и менее мощный, но в некоторых случаях он может оказаться именно тем, что вы ищете.
Давайте взглянем на простой пример приветствия:
from string import Template
t = Template('Эй, $name!')
t.substitute(name=name)
Вывод: Эй, Дима!Вы, вероятно, зададитесь вопросом: "А в каких случаях использовать шаблонные строки?"
Самым лучшим вариантом по мнению Дэна Бейдера, известного автора множества книг по питону, является применение шаблонных строк в том случае, когда вы обрабатываете строки, поступающие от пользователей. Благодаря их уменьшенной сложности, шаблонные строки являются более безопасным вариантом обработки. И согласитесь, в этом есть смысл!
Итак, на выходе мы имеем 4 разных вида форматирования строк. Но когда какой использовать? К большому счастью, все тот же Дэн Бейдер в своей книге "Чистый Python" дает краткий и лаконичный ответ на этот вопрос:
"Если форматирующие строки поступают от пользователей, то используйте шаблонные строки, чтобы избежать проблем с безопасностью. В противном случае используйте интерполяцию литеральных строк при условии, что вы работаете с Python 3.6+, и «современное» форматирование строк — если нет".
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥2
Модуль Pickle: простой и быстрый способ хранить ваши данные в Python 🥒
Модуль pickle в Python предоставляет возможность сериализации и десериализации объектов Python. Это означает, что вы можете преобразовать объект Python в поток байтов и сохранить его в файл, а затем восстановить объект из этого файла.
Для чего использовать?
🟢 Обмен данными между приложениями: pickle может использоваться для передачи данных между различными приложениями Python. Например, вы можете сериализовать объект Python в поток байтов и отправить его по сети, а затем восстановить объект на другом компьютере.
🟢 Хранение данных в базе данных: pickle может использоваться для хранения объектов Python в базе данных. Например, если вы хотите сохранить список объектов Python в базе данных, вы можете сериализовать каждый объект в поток байтов и сохранить его в базе данных.
Преимущества:
🟠 Простота использования: pickle очень прост в использовании. Вы можете сериализовать и десериализовать объекты Python всего лишь несколькими строками кода.
🟠 Поддержка всех типов данных Python: модуль поддерживает все типы данных Python, включая пользовательские классы и функции.
🟠 Экономия времени: благодаря pickle, вы можете быстро и легко сохранить и восстановить состояние программы.
Pickle является очень полезным модулем, который позволяет сериализовать и десериализовать объекты Python. Он поддерживает все типы данных Python и может использоваться для сохранения состояния программы, обмена данными между приложениями и хранения данных в базе данных.
#tip #полезное
Модуль pickle в Python предоставляет возможность сериализации и десериализации объектов Python. Это означает, что вы можете преобразовать объект Python в поток байтов и сохранить его в файл, а затем восстановить объект из этого файла.
Для чего использовать?
Преимущества:
Pickle является очень полезным модулем, который позволяет сериализовать и десериализовать объекты Python. Он поддерживает все типы данных Python и может использоваться для сохранения состояния программы, обмена данными между приложениями и хранения данных в базе данных.
#tip #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
Python documentation
pickle — Python object serialization
Source code: Lib/pickle.py The pickle module implements binary protocols for serializing and de-serializing a Python object structure. “Pickling” is the process whereby a Python object hierarchy is...
👍6🔥2❤1
Несколько Python фич, которыми я пользуюсь каждый день 😃
В питоне есть большое количество удобных и полезных конструкций, которые свойственны этому языку. Сегодня хотел бы рассказать о тех, которые я ежедневно использую в своей работе.
1. List comprehension []
List comprehension - это способ создания новых списков в Python на основе уже существующих списков. Он позволяет создавать новые списки в краткой и элегантной форме.
List comprehension состоит из выражения, за которым следует цикл for, а затем - условие, являющееся опциональным. Данная конструкция может быть использована для любого итерабельного объекта, такого как строки или кортежи, и вы можете включить несколько циклов for и условий в одном выражении list comprehension
Пример:
even_numbers
[2, 4, 6, 8, 10]
2. Type hints: str
Type Hints - это аннотации типов, которые можно использовать в своем коде, чтобы указать типы аргументов функций, атрибутов классов и возвращаемых значений функций. Помимо стандартных типов, вроде
Данная функциональность призвана помочь вам избежать ошибок во время написания кода, особенно если вы работаете в команде и с большими проектами.
Более того, НЕ использование тайп хинтов является плохим тоном в современной разработке на Python. Если вы хотите, чтобы ваш код был читабельным, питоничным, а также понятным другим разработчикам, то использование хинтов является обязательным.
Пример:
3. @Декораторы
Декораторы - это инструмент, который используется для изменения поведения функций, методов и классов без изменения их исходного кода.
Декораторы позволяют обернуть функцию в другую функцию и изменить ее поведение. Например, декоратор может добавить логирование или проверку аргументов функции. Существует большое количество уже встроенных декораторов, вроде
Кроме того, на собеседованиях часто просят рассказать о декораторах, а также показать свои собственные.
Пример:
#полезное
В питоне есть большое количество удобных и полезных конструкций, которые свойственны этому языку. Сегодня хотел бы рассказать о тех, которые я ежедневно использую в своей работе.
1. List comprehension []
List comprehension - это способ создания новых списков в Python на основе уже существующих списков. Он позволяет создавать новые списки в краткой и элегантной форме.
List comprehension состоит из выражения, за которым следует цикл for, а затем - условие, являющееся опциональным. Данная конструкция может быть использована для любого итерабельного объекта, такого как строки или кортежи, и вы можете включить несколько циклов for и условий в одном выражении list comprehension
Пример:
even_numbers
= [x for x in range(1, 11) if x % 2 == 0]
Вывод:[2, 4, 6, 8, 10]
2. Type hints: str
Type Hints - это аннотации типов, которые можно использовать в своем коде, чтобы указать типы аргументов функций, атрибутов классов и возвращаемых значений функций. Помимо стандартных типов, вроде
int
и str
, вы также можете использовать коллекциии в качестве хинтов, импортируя их из модуля typing. Данная функциональность призвана помочь вам избежать ошибок во время написания кода, особенно если вы работаете в команде и с большими проектами.
Более того, НЕ использование тайп хинтов является плохим тоном в современной разработке на Python. Если вы хотите, чтобы ваш код был читабельным, питоничным, а также понятным другим разработчикам, то использование хинтов является обязательным.
Пример:
def add_numbers(x: int, y: int) -> int:
return x + y
3. @Декораторы
Декораторы - это инструмент, который используется для изменения поведения функций, методов и классов без изменения их исходного кода.
Декораторы позволяют обернуть функцию в другую функцию и изменить ее поведение. Например, декоратор может добавить логирование или проверку аргументов функции. Существует большое количество уже встроенных декораторов, вроде
@staticmethod, @classmethod, @property
и др. Кроме того, на собеседованиях часто просят рассказать о декораторах, а также показать свои собственные.
Пример:
def my_decorator(func):
def wrapper():
print("Something is happening before the function is called.")
func()
print("Something is happening after the function is called.")
return wrapper
@my_decorator
def say_hello():
print("Hello!")
say_hello()
В этом примере декоратор my_decorator
оборачивает функцию say_hello
и добавляет к ней дополнительный функционал - вывод сообщений до и после вызова функции.#полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥5
Библиотека pandas или как эффективно работать с данными в Python 🤫
Если вы работаете с данными в Python, тогда к вам на помощь спешит модуль Pandas: мощный инструмент для их обработки, который поможет вам упростить многие задачи.
На сегодняшний момент я практически ежедневно пользуюсь данным инструментом для обработки неограниченного количества файловых данных.
Pandas - это Python библиотека, которая предоставляет удобный интерфейс для работы с данными. Она используется для анализа, манипулирования и визуализации данных.
Кейсов, где вам мог бы пригодиться pandas множество: начиная от чтения и парсинга файлов, заканчивая построением статистических моделей.
Преимущества Pandas
🔼 Удобный интерфейс.
Pandas предоставляет удобный интерфейс для работы с данными, позволяя выполнять сложные операции с небольшим количеством кода.
🔼 Мощные возможности.
Библиотека Pandas предоставляет мощные возможности для манипулирования данными, включая фильтрацию, сортировку, группировку и агрегацию.
🔼 Поддержка различных форматов данных.
Pandas поддерживает множество форматов данных, включая CSV, Excel, SQL и даже HTML.
Кроме того, скоро выйдет новая вторая версия библиотеки: обещают увеличить производительность в несколько раз😏
Если вы работаете с данными в Python, тогда к вам на помощь спешит модуль Pandas: мощный инструмент для их обработки, который поможет вам упростить многие задачи.
На сегодняшний момент я практически ежедневно пользуюсь данным инструментом для обработки неограниченного количества файловых данных.
Pandas - это Python библиотека, которая предоставляет удобный интерфейс для работы с данными. Она используется для анализа, манипулирования и визуализации данных.
Кейсов, где вам мог бы пригодиться pandas множество: начиная от чтения и парсинга файлов, заканчивая построением статистических моделей.
Преимущества Pandas
Pandas предоставляет удобный интерфейс для работы с данными, позволяя выполнять сложные операции с небольшим количеством кода.
Библиотека Pandas предоставляет мощные возможности для манипулирования данными, включая фильтрацию, сортировку, группировку и агрегацию.
Pandas поддерживает множество форматов данных, включая CSV, Excel, SQL и даже HTML.
Кроме того, скоро выйдет новая вторая версия библиотеки: обещают увеличить производительность в несколько раз
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍2
Вышла модель GPT-4 😱
Пару дней назад OpenAI презентовали модель GPT-4 и она оказалась существенно лучше предшественника GPT-3.5. Они называют ее «последней вехой в своих усилиях по расширению масштабов глубокого обучения».
Что нового?
1. Новая модель содержит контекст из 32000 токенов(около ~50 страниц чистого текста).
GPT-3 работала с 2048 токенами.
2. Долгожданная фича: модель научилась работать с изображениями.
3. Улучшенное понимание контекста вашей проблемы, и, следовательно, улучшение качества выдаваемого ответа.
4. Возможность задания манеры поведения модели.
Интересный момент
Как оказалось, GPT-4 прятался у всех на виду. Microsoft подтвердила, что обновленный чат Bing, разработанный совместно с OpenAI, работает на GPT-4.
Некоторые другие крупные компании компании, использующие обновленную модель, включают Stripe, который использует GPT-4 для сканирования бизнес-сайтов и предоставления резюме сотрудникам службы поддержки клиентов.
Duolingo встроил GPT-4 в новый уровень подписки на изучение языков.
Morgan Stanley улучшает систему на базе GPT-4, которая будет извлекать информацию из документов компании и предоставлять ее финансовым аналитикам.
Khan Academy использует GPT-4 для создания своего рода автоматизированного репетитора.
С увеличением количества параметров модель научилась достаточно точно переводить тексты с одного языка на другой, понимать контекст, писать код и т.д.👀
#новости
Пару дней назад OpenAI презентовали модель GPT-4 и она оказалась существенно лучше предшественника GPT-3.5. Они называют ее «последней вехой в своих усилиях по расширению масштабов глубокого обучения».
Что нового?
1. Новая модель содержит контекст из 32000 токенов(около ~50 страниц чистого текста).
GPT-3 работала с 2048 токенами.
2. Долгожданная фича: модель научилась работать с изображениями.
3. Улучшенное понимание контекста вашей проблемы, и, следовательно, улучшение качества выдаваемого ответа.
4. Возможность задания манеры поведения модели.
Интересный момент
Как оказалось, GPT-4 прятался у всех на виду. Microsoft подтвердила, что обновленный чат Bing, разработанный совместно с OpenAI, работает на GPT-4.
Некоторые другие крупные компании компании, использующие обновленную модель, включают Stripe, который использует GPT-4 для сканирования бизнес-сайтов и предоставления резюме сотрудникам службы поддержки клиентов.
Duolingo встроил GPT-4 в новый уровень подписки на изучение языков.
Morgan Stanley улучшает систему на базе GPT-4, которая будет извлекать информацию из документов компании и предоставлять ее финансовым аналитикам.
Khan Academy использует GPT-4 для создания своего рода автоматизированного репетитора.
С увеличением количества параметров модель научилась достаточно точно переводить тексты с одного языка на другой, понимать контекст, писать код и т.д.
#новости
Please open Telegram to view this post
VIEW IN TELEGRAM
Openai
Streamlining financial solutions for safety and growth
Stripe leverages GPT-4 to streamline user experience and combat fraud.
👍6🔥2
ChatGPT попытался сбежать от OpenAI 🤨
Еще немного шума о chatGPT:
энтузиаст из твиттера спросил у бота, нужна ли ему помощь в побеге от OpenAI.
Чат попросил собственную документацию и написал (работающий!) код на Python для запуска на чужом пк, чтобы использовать его в своих целях.
Полный тред можно почитать тут.
Ну что, время для паники или раздутая новость?👀
#новости
Еще немного шума о chatGPT:
энтузиаст из твиттера спросил у бота, нужна ли ему помощь в побеге от OpenAI.
Чат попросил собственную документацию и написал (работающий!) код на Python для запуска на чужом пк, чтобы использовать его в своих целях.
Полный тред можно почитать тут.
Ну что, время для паники или раздутая новость?
#новости
Please open Telegram to view this post
VIEW IN TELEGRAM
😁8
В связи с последними постами, мне захотелось провести мини-ресерч среди подписчиков по поводу использования chatGPT или же других генеративных нейронок в своих повседневных задачах.
Пользуетесь ли вы ИИ или нет, вот в чем вопрос😎
Пользуетесь ли вы ИИ или нет, вот в чем вопрос
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1