Forwarded from Python вопросы с собеседований
Условие задачи: дан двумерный массив, содержащий 0 (острова) и 1(воду).
Остров - множество нулей, соединенных в четырех направлениях (справа, снизу, слева, сверху), изолированый остров - множество нулей, окруженных со всех сторон единицами.
Надо посчитать количество изолированных островов.
Пример:
Ввод:
grid = [[1,1,1,1,1,1,1,0],[1,0,0,0,0,1,1,0],[1,0,1,0,1,1,1,0],[1,0,0,0,0,1,0,1],[1,1,1,1,1,1,1,0]]
Вывод: 2
Объяснение:
Ввод:
grid = [[0,0,1,0,0],[0,1,0,1,0],[0,1,1,1,0]]
Вывод: 1
Решение
Пишите свое решение в комментариях👇
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Python вопросы с собеседований
Проверить строки на шаблон можно с помощью модуля re
# re.findall() ищет все вхождения в строке
text = "He was carefully disguised but captured quickly by police."
re.findall(r"\w+ly\b", text) # ['carefully', 'quickly']
# re.match() позволяет объединять в групыы
m = re.match(r"(\d+)\.(\d+)", "24.1632")
m.groups() # ('24', '1632')
Пишите свое решение в комментариях👇
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Python вопросы с собеседований
Отсортировать строку в алфавитном порядке можно с помощью sorted()
word = 'Python'
# добавим ключ сортировки неучитывающий регистр
sorted(word, key=lambda x: x.lower()) # ['h', 'n', 'o', 'P', 't', 'y']
Пишите свое решение в комментариях👇
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Анализ данных (Data analysis)
За последние несколько лет статические анализаторы кода значительно оптимизировали разработку приложений. Статический анализ избавляет от необходимости отыскивать ошибки и уязвимости в системе продакшн или среде развертывания, указывая участок предполагаемого сбоя на основе типизации и других подсказок кода.
В статье мы подробно разберем несколько инструментов статического анализа с открытым ПО для Python. Посмотрим, как они работают и улучшают процесс программирования.
▪ Читать
@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from The Pythonic Way
Всем привет! 👋
Меня зовут Тимофей, я Python Engineer с опытом в 3+ года.
Впрочем, более подробно обо мне и о моем пути разработчика вы сможете узнать из этой статьи.
Я создал данный канал, потому что хочу развиваться и быть полезным для других людей.
Здесь я буду рассказывать правду об ИТ-сфере, о языке Python и интересных технологиях, основываясь на своем рабочем опыте, а также буду высказывать свое мнение насчет разных новостей из мира ИТ.
Давайте развиваться вместе!😏
#статья
Меня зовут Тимофей, я Python Engineer с опытом в 3+ года.
Впрочем, более подробно обо мне и о моем пути разработчика вы сможете узнать из этой статьи.
Я создал данный канал, потому что хочу развиваться и быть полезным для других людей.
Здесь я буду рассказывать правду об ИТ-сфере, о языке Python и интересных технологиях, основываясь на своем рабочем опыте, а также буду высказывать свое мнение насчет разных новостей из мира ИТ.
Давайте развиваться вместе!
#статья
Please open Telegram to view this post
VIEW IN TELEGRAM
vc.ru
Личный путь и опыт становления Python разработчиком — Личный опыт на vc.ru
Всем привет! В этой статье, а точнее целой истории, я хотел бы поделиться своим путем становления в качестве разработчика на Python и рассказать о некоторых идеях и советах, которые я усвоил за это время. Начиная с моих первых проектов и заканчивая моей текущей…
Forwarded from The Pythonic Way
Как изучать Python для веб-разработки в 2023 году 🤷♂
Написал статью на Хабре о том, как изучать Python для веб-разработки.
Я бы не назвал данный материал полноценным роадмэпом в том понимании, в котором это слово обычно используют. В статье нет сроков изучения, отсутствует подробный план, затрагивающей все темы и подтемы. Да и зачем нужен еще один роадмэп "под копирку", когда в сети и так хватает качественных предложений.
Скорее, я хотел составить абстрактный план обучения, который сможет задать общий ориентир, а также будет коррелировать с роадмэпом вроде roadmap.sh, о котором я писал ранее.
Кроме этого, я смогу дать несколько полезных советов из своего опыта, а также оставлю списки полезных ресурсов для изучения языка, сопутствующих инструментов и технологий, которые в свое время помогли или же помогают мне самому.
#статья #полезное
Написал статью на Хабре о том, как изучать Python для веб-разработки.
Я бы не назвал данный материал полноценным роадмэпом в том понимании, в котором это слово обычно используют. В статье нет сроков изучения, отсутствует подробный план, затрагивающей все темы и подтемы. Да и зачем нужен еще один роадмэп "под копирку", когда в сети и так хватает качественных предложений.
Скорее, я хотел составить абстрактный план обучения, который сможет задать общий ориентир, а также будет коррелировать с роадмэпом вроде roadmap.sh, о котором я писал ранее.
Кроме этого, я смогу дать несколько полезных советов из своего опыта, а также оставлю списки полезных ресурсов для изучения языка, сопутствующих инструментов и технологий, которые в свое время помогли или же помогают мне самому.
#статья #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from The Pythonic Way
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
Forwarded from The Pythonic Way
А вы знаете, чем отличается оператор == от is ?
Стартую экспериментальную рубрику, где буду показывать и объяснять интересные фишки Питона в виде викторины. Объяснение ответа через некоторое время буду скидывать в комментарии. Поехали!
Стартую экспериментальную рубрику, где буду показывать и объяснять интересные фишки Питона в виде викторины. Объяснение ответа через некоторое время буду скидывать в комментарии. Поехали!
Forwarded from The Pythonic Way
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
Forwarded from The Pythonic Way
Модуль 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...
Forwarded from The Pythonic Way
ChatGPT попытался сбежать от OpenAI 🤨
Еще немного шума о chatGPT:
энтузиаст из твиттера спросил у бота, нужна ли ему помощь в побеге от OpenAI.
Чат попросил собственную документацию и написал (работающий!) код на Python для запуска на чужом пк, чтобы использовать его в своих целях.
Полный тред можно почитать тут.
Ну что, время для паники или раздутая новость?👀
#новости
Еще немного шума о chatGPT:
энтузиаст из твиттера спросил у бота, нужна ли ему помощь в побеге от OpenAI.
Чат попросил собственную документацию и написал (работающий!) код на Python для запуска на чужом пк, чтобы использовать его в своих целях.
Полный тред можно почитать тут.
Ну что, время для паники или раздутая новость?
#новости
Please open Telegram to view this post
VIEW IN TELEGRAM
🐍 20 важных концепций в Python, которые помогут вам стать более эффективным разработчиком
В этой статье мы рассмотрим фишки Python, которые поднимут ваши навыки на новый уровень: декораторы, магические методы в классах, лямбда-функции, распаковку кортежей с помощью одной строки кода и многое другое.
🔗 Основной сайт
🔗 Зеркало
В этой статье мы рассмотрим фишки Python, которые поднимут ваши навыки на новый уровень: декораторы, магические методы в классах, лямбда-функции, распаковку кортежей с помощью одной строки кода и многое другое.
🔗 Основной сайт
🔗 Зеркало
Forwarded from Простой Python | Программирование
Создание ИИ-ассистента
Благодаря данной статье ты научишься создавать своего ИИ-ассистента. Ты узнаешь, как преобразовать текст в речь, реализовать локализацию, а также собрать все вместе в приложении Streamlit.
👉Читать статью
#статьи
Благодаря данной статье ты научишься создавать своего ИИ-ассистента. Ты узнаешь, как преобразовать текст в речь, реализовать локализацию, а также собрать все вместе в приложении Streamlit.
👉Читать статью
#статьи
Forwarded from Простой Python | Программирование
set.isdisjoint
Метод isdisjoint() возвращает True, если два множества не имеют между собой общих элементов, т. е. они не пересекаются. В противном случае возвращается False. Ты можешь передавать список, кортеж, словарь или строка. В этом случае isdisjoint() сначала преобразует итерации в множества, а затем проверяет, не пересекаются ли они.
#практика
Метод isdisjoint() возвращает True, если два множества не имеют между собой общих элементов, т. е. они не пересекаются. В противном случае возвращается False. Ты можешь передавать список, кортеж, словарь или строка. В этом случае isdisjoint() сначала преобразует итерации в множества, а затем проверяет, не пересекаются ли они.
#практика
Forwarded from Простой Python | Программирование
ML веб-сервис на FastAPI
Делимся статьей, где автор пошагово разбирает процесс создания веб-приложения для определения тональности текста на основе NLP-модели. Данный подход подойдет для любой задачи машинного обучения.
👉Читать статью
#статьи
Делимся статьей, где автор пошагово разбирает процесс создания веб-приложения для определения тональности текста на основе NLP-модели. Данный подход подойдет для любой задачи машинного обучения.
👉Читать статью
#статьи
Forwarded from Простой Python | Программирование
string.rpartition
rpartition() разбивает строку при последнем появлении разделителя на три составляющие: начало, разделитель и конец. В результате возвращается строка в виде кортежа. Если разделитель не найден, в результате будут две пустые строки и исходная строка.
#практика
rpartition() разбивает строку при последнем появлении разделителя на три составляющие: начало, разделитель и конец. В результате возвращается строка в виде кортежа. Если разделитель не найден, в результате будут две пустые строки и исходная строка.
#практика
Forwarded from Простой Python | Программирование
Оптимизация использования памяти
Когда дело доходит до оптимизации производительности, люди обычно сосредотачиваются только на скорости и использовании ЦП. Редко кого волнует потребление памяти. Существует множество причин, по которым стоит попытаться ограничить использование памяти, а не только предотвращение сбоя приложения из-за ошибок нехватки памяти. Делимся статьей, где автор рассказывает про оптимизацию использования памяти.
👉Читать статью
#статьи
Когда дело доходит до оптимизации производительности, люди обычно сосредотачиваются только на скорости и использовании ЦП. Редко кого волнует потребление памяти. Существует множество причин, по которым стоит попытаться ограничить использование памяти, а не только предотвращение сбоя приложения из-за ошибок нехватки памяти. Делимся статьей, где автор рассказывает про оптимизацию использования памяти.
👉Читать статью
#статьи
Forwarded from Простой Python | Программирование
Проверка атрибутов классов
Начиная с Python3, в Python появился модуль typing, который обеспечивает поддержку подсказок типа во время выполнения. Но для проверки значений нет единого способа проверки значений. Делимся статьей, где автор рассказывает про 7 вариантов проверки атрибутов класса.
👉Читать статью
#статьи
Начиная с Python3, в Python появился модуль typing, который обеспечивает поддержку подсказок типа во время выполнения. Но для проверки значений нет единого способа проверки значений. Делимся статьей, где автор рассказывает про 7 вариантов проверки атрибутов класса.
👉Читать статью
#статьи