zen_of_python | Unsorted

Telegram-канал zen_of_python - Zen of Python

20687

Полный Дзен Пайтона в одном канале Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/xZOL

Subscribe to a channel

Zen of Python

Ищем человека, который будет строить сообщество по темам Python / Data Science / AI в Tproger

Если вы довольно неплохо разбираетесь в этих темах и при этом видите в себе желание рассказывать об этом другим разработчикам и вовлекать их в горячие обсуждения — возможно, это именно ваша вакансия.

Подробности, тестовое задание и отклик здесь: https://tprg.ru/GEZL

Читать полностью…

Zen of Python

Декораторы в Python: понять и полюбить

Декораторы — это вам не «обычное» процедурное программирование, когда вы объявляете функции с блоками кода, и просто вызываете их. В Python всё куда интереснее!

Если вкратце, декоратор — это функция, которая позволяет обернуть другую функцию и расширить её функциональность без изменения её кода. Новички не очень любят декораторы и зря. А вот опытные Python-программисты знают, что это один из самых полезных инструментов в Python.

Давайте разбираться, что это за декораторы, как их использовать и как задействовать всю их магию: https://tproger.ru/translations/demystifying-decorators-in-python/

Читать полностью…

Zen of Python

​​​​​​Самые популярные вопросы на собеседовании: «Объясните, как работает функция reduce»

reduce принимает функцию и последовательность — и проходит по этой последовательности. На каждой итерации в функцию передаются как текущий элемент, так и выходные данные предыдущего элемента. В конце концов, возвращается одно значение:

from functools import reduce
def add_three(x,y):
return x + y
li = [1,2,3,5]
reduce(add_three, li)
#=> 11

Возвращается 11, то есть сумма 1+2+3+5.

#собеседование

Читать полностью…

Zen of Python

​​​​​Самые популярные вопросы на собеседовании: «Как работает функция map?»

Обычно, когда нужно обработать и преобразовывать все элементы в итерируемом объекте, первое, что напрашивается, это цикл for.

Но у for есть несколько недостатков, которых можно избежать, используя map():

1. Поскольку map() написан на C и сильно оптимизирован, его внутренний подразумеваемый цикл более эффективен, чем обычный цикл for.

2. Второе преимущество использования map() — потребление памяти. С помощью for вам нужно сохранить весь список. А map() вы получаете элементы по запросу, и только один элемент находится в памяти в данный момент.

То есть map() полезен, когда вам нужно применить функцию преобразования к каждому элементу в коллекции или в массиве и преобразовать их в новый массив. Она возвращает объект (итератор), который перебирает значения, применяя функцию к каждому элементу. В случае необходимости объект можно преобразовать в список:

def add_three(x):
return x + 3
li = [1,2,3]
list(map(add_three, li))
#=> [4, 5, 6]

Например, здесь к каждому элементу в списке мы добавляем число 3.

#собеседование

Читать полностью…

Zen of Python

Дайджест Python #5: как сделать свой Copilot и работать с данными в Pandas

Собрали свежий дайджест из лучших материалов по Python.

В нём вы узнайте, как написать свой аналог GitHub Copilot без знаний об искусственном интеллекте, как работать с данными и памятью в Pandas и как написать нейросеть, которая сможет самостоятельно распознавать объекты.

#python #нейросети

Читать полностью…

Zen of Python

OpenAI представила GPT-4 и расскажет о ней подробнее на презентации в 23:00 по мск

Как и обещали, разработчики Microsoft и OpenAI, в целом улучшили GPT-4 и внедрили мультимодальные модели. Теперь GPT-4 может взаимодействовать ещё и через изображения (пример, на 1 скриншоте), звуки и видео. А ещё она свободно общается на разных языках, гораздо лучше сдаёт экзамены и лучше пишет о сложных вопросах, а не только общих темах.

Рассказываем, что ещё нового в новой модели от OpenAI, как получить к ней доступ и где посмотреть презентацию: https://tproger.ru/articles/openai-predstavila-gpt-4-chto-novogo-i-kak-poprobovat-novinku/

#нейросети #openai #microsoft

Читать полностью…

Zen of Python

Cоздаём свою канбан-доску на Django, DRF и Alpine.js

Наверняка вы уже работали с канбан-досками? Это сервисы типа Jira или Trello, они помогают здорово структурировать и мониторить рабочие процессы. А особенно они полезны, когда задачи состоят из кучи этапов, например, согласования, выполнения, ревью и продакшена.

А почему нам не сделать свою канбан-доску с блекджеком, так сказать, и всем прилегающим? Вот отличная статья, которая поможет разработать собственную канбан-доску и развернуть её на облачном сервере:

https://habr.com/ru/company/selectel/blog/721022/

#django #петпроект

Читать полностью…

Zen of Python

Большая подборка книг по Python от сообщества

В подборке есть книги как для новичков, так и для опытных специалистов. Репозиторий постоянно обновляется, так что велик шанс найти что-нибудь свеженькое.

https://github.com/pamoroso/free-python-books

#книги #подборка

Читать полностью…

Zen of Python

Чем больший объем данных используют на проекте, чем выше нагрузка на систему – тем более продвинутый SQL нужен разработчикам

Изучить SQL и свободно использовать его в работе поможет курс Практикума.

После 3 месяцев курса разработчики смогут:
— уверенно пользоваться простыми селектами, джоинами, индексами и оконными функциями;
— отладить запрос, который сгенерирован через ORM;
— составить сложные запросы на нативном SQL;
— применить продвинутый SQL, чтобы писать код для высоконагруженных систем,
— чувствовать себя спокойно на собеседованиях.

Записывайтесь и развивайтесь в карьере

Реклама АНО ДПО «Образовательные технологии Яндекса»

Читать полностью…

Zen of Python

​​​​Самые популярные вопросы на собеседовании: «В чем разница между методами экземпляра, класса и статическими методами в Python?»

Методы экземпляра: принимают параметр self и относятся к определенному экземпляру класса.

Статические методы: используют декоратор @staticmethod, не связаны с конкретным экземпляром и являются автономными (атрибуты класса или экземпляра не изменяются).

Проиллюстрируем разницу на вымышленном классе CoffeeShop:
class CoffeeShop:
specialty = 'espresso'

def __init__(self, coffee_price):
self.coffee_price = coffee_price

# instance method
def make_coffee(self):
print(f'Making {self.specialty} for ${self.coffee_price}')

# static method
@staticmethod
def check_weather():
print('Its sunny')

# class method
@classmethod
def change_specialty(cls, specialty):
cls.specialty = specialty
print(f'Specialty changed to {specialty}')

У класса CoffeeShop есть атрибут specialty (фирменный напиток), установленный по умолчанию в значение 'espresso'. Каждый экземпляр CoffeeShop инициализируется с атрибутом coffee_price. У него также три метода: метод экземпляра, статический метод и метод класса.

Давайте инициализируем экземпляр с атрибутом coffee_price, равным 5. Затем вызовем метод экземпляра make_coffee:
coffee_shop = CoffeeShop('5')
coffee_shop.make_coffee()
#=> Making espresso for $5

Теперь вызовем статический метод. Статические методы не могут изменять состояние класса или экземпляра, поэтому обычно используются для служебных функций, например, сложения двух чисел. Наши проверяют погоду. Говорят, что солнечно:
coffee_shop.check_weather()
#=> Its sunny

Теперь используем метод класса для изменения фирменного напитка (specialty), а затем сделаем кофе (make_coffee):
coffee_shop.change_specialty('drip coffee')
#=> Specialty changed to drip coffee

coffee_shop.make_coffee()
#=> Making drip coffee for $5

Обратите внимание, что make_coffee раньше делал эспрессо, а теперь заваривает капельную кофеварку (drip coffee).

Читать полностью…

Zen of Python

Поздравляем с международным женским днём!

И делимся с вами несколькими хорошими материалами:

— Если не знали, до 1984 года женщин-программистов было больше, чем мужчин. Интересное исследование и краткий исторический экскурс про вклад женщин в IT: https://mel.fm/deti/shkolniki/987324-women_programming

— Минутка ностальгии. Женщины в Bell Labs 1960-х годов — в фотографиях на фоне огромных ЭВМ тех времён: https://tproger.ru/articles/women-of-bell-labs-in-the-1960s/

— Как относятся к девушкам-программистам сейчас, и сложно ли девушке устроиться на работу в IT-отрасль, особенно если она хочет быть именно программистом: https://tproger.ru/experts/36/

#история

Читать полностью…

Zen of Python

Кстати, про литкод: определяем ваш уровень решения LeetCode задач от 1 до 5

Недавно я уже писал про интересную статью, в которой рассмотрели решение одной из сложных задач с платформы. Напомню, что LeetCode — это своего рода тренажёр по всяким заковыристым алгоритмическим задачам для подготовки к техническим собеседованиям.

И вот ещё более интересная статья про реальный опыт с LeetCode и (внимание!) подготовке к интервью в FAANG подобные компании путём разбиения её на уровни.

Цифры местами грубые, утверждения субъективные, но очень советую к прочтению, если интересуетесь темой: https://habr.com/ru/post/713498/

#задачи

Читать полностью…

Zen of Python

SM Lab устраивает One Day Offer для Middle/Senior дата-инженеров

One Day Offer от SM Lab — это отличная возможность пройти все этапы отбора и получить оффер от SM Lab всего за один день. Также будут рады коллегам из смежных областей.

Стек: Vanilla Hadoop, Kafka, Spark, Airflow, ClickHouse, Jira, Confluence, GitLab.

Примеры задач:
— реализация ETL в Hadoop (с помощью Airflow);
— работа с различными источниками данных: Oracle, MS SQL, API личных кабинетов, микросервисы;
— батч и стримы с помощью PySpark и Kafka;
— подготовка витрин для анализа (Hive + Spark+ SQL)

Станьте частью команды Sportmaster Lab — успейте отправить форму до 23 марта: https://tprg.ru/vs5S

Реклама ООО «Спортмастер» LjN8JuNFS

Читать полностью…

Zen of Python

Представляете, сколько получают IT-шники? Причём даже те, кто вообще не умеют программировать и за всю жизнь ни строчки кода не написали

Средняя зп в IT — 140 тыс. (по данным hh.ru). Новички получают от 70 тыс. При этом имеют кучу льгот, удалёнку и свободный график.

Сейчас IT-компании готовы брать даже совсем зелёных новичков, без дипломов и опыта работы. И таким новичком можете стать вы.

Запишитесь на бесплатный марафон, чтобы узнать как попасть в крупную IT-компанию, пообщаться с профессионалами об их опыте и разобраться в том, какая именно профессия вам подходит: https://tprg.ru/2t7r

Реклама ОАНО ДПО «Скаэнг»

Читать полностью…

Zen of Python

Что вы делали на этой неделе? Пост хвастовства за 27 февраля — 3 марта

Не важно, разработчик вы или тестировщик, деврел или эйчар. Расскажите, какие задачи вы героически решили, и делитесь успехами. Кидайте всё, чем хочется похвастаться: текст, скриншоты кода и даже ссылочки на видео:

https://tproger.ru/articles/chto-vy-delali-na-jetoj-nedele-post-hvastovstva-za-27-fevralja-3-marta/

#обсуждение

Читать полностью…

Zen of Python

​​Топ 5 ресурсов для изучения Python: часть 3

На канале уже есть пара подборок из самых годных ресурсов, которые помогают прокачаться в Python. Делюсь ещё пятёркой самых достойных.

Сохраняйте себе и учитесь на здоровье:

1. Pythonspot
Pythonspot это каталог ресурсов и материалов по Python, в котором весь контент разделён на категории: по уровню навыков, тематике (пользовательские интерфейсы, сети и т. д.) и платформе (Android, iOS и т.п.).

2. Онлайн-книга «Укус питона»
Это отличный учебник для начинающих. Более опытные программисты могут смело использовать его в качестве справочника — на случай, если нужно будет что-то вспомнить. Книга бесплатная, есть русский перевод.

3. Курс по Python от университета Райса на Coursera
Курс замёт займет несколько недель, зато регистрация и сам курс совершенно бесплатны. А вот если будет нужен сертификат, за него уже придётся платить.

4. Ускоренный курс по Python
Это серия документов и презентаций, которые могут использоваться для быстрого обучения языку Python программистов, знающих другие языки.

5. Real Python
Real Python это премиальный онлайн-курс с более чем 1300 страниц контента, 9 часов видео, упражнениями и примерам кода. Подписка платная, но на сайте есть много статей, которые можно читать совершенно бесплатно.

#подборка

Читать полностью…

Zen of Python

Генерируем 2D-мир с помощью клеточного автомата на Python

Вообще, клеточный автомат сам по себе очень интересная штука. Простыми словами, это — модель, в которой состояние ячеек-клеток изменяется в зависимости от окружающих её клеток.

Простейшие клеточные автоматы используются в криптографии, моделировании физических процессов, поведения людей, в биологии, и в целой куче других важных и интересных штук. Да и вообще, это очень красиво и залипательно. И вот одно из необычных применений для клеточных автоматов — генерация карты для 2D-мира.

Хорошая статья, в которой можно попрактиковаться сразу и в геймдеве, и в теории клеточных автоматов, и в принципе закодировать что-нибудь интересное на питоне, вместо очередного калькулятора или просмотрщика погоды: https://habr.com/ru/post/721956/

#алгоритмы

Читать полностью…

Zen of Python

Python для начинающих: дорожная карта в 2023 году

Это просто просто огромная крутая дорожная карта по изучению Python с нуля. Не смотрите, что партнёрский материал — это колаб Tproger и Skypro. Ребята просто честно помечают такие вещи, но годноты от этого меньше не становится.

В общем, смотрите, изучайте и сохраняйте, чтобы не потерять: https://tproger.ru/articles/python-roadmap-2023-ljn8jvxfj/

#шпаргалки

Читать полностью…

Zen of Python

Как искать работу в IT

Лучше всего — в профессиональном сообществе. Если в вашем окружении нет опытных спецов, познакомиться с ними можно в карьерных группах, которые создают IT-компании.

«Карьера в Ростелекоме» — канал, на который стоит подписаться всем, кто ищет полезные контакты, следит за IT-рынком и мониторит предложения работодателей в этой сфере.

Каждую неделю здесь публикуют дайджест вакансий и интервью с сотрудниками. Они делятся опытом, рассказывают о важных софт-скилах и интересных проектах, над которыми работают.

Например, команда разработчиков рассказала, как не нашла подходящий конструктор дашбордов и создала свой.

Подписывайтесь, если хотите знать больше о новых технологиях и разработках

Реклама ПАО «Ростелеком» LjN8Kaa7b

Читать полностью…

Zen of Python

Первый тест фичи:

Читать полностью…

Zen of Python

5 полезных, но малоизвестных библиотек для Python

Многие из нас работали с Flask, NumPy, OpenCV и другими популярными библиотеками питона. Они хорошо поддерживаются, постоянно развиваются, у них большое коммьюнити и огромное количество гайдов.

Но есть несколько очень крутых, но пока малоизвестных библиотек, которые могут оказаться очень полезными.

И вот 5 самых интересных из них:
Funcy содержит более 100 полезных методов и декораторов, собранных в одной библиотеке.
JsonObject — удобная библиотека для быстрого преобразования json в объекты Python.
Pdir2 — отличная библиотека для замены работы со стандартным dir(). Основные преимущества этой библиотеки:
NetworkX — это очень большая и удобная библиотека для Python с множеством встроенных функций для работы с графами и их выводом.
You-get — удобный инструмент для скачивания видео, фото и аудио файлов с большинства популярных платформ.

А вот статья, в которой на примерах показали, как с ними работать и чем они могут быть полезны: https://habr.com/ru/company/ruvds/blog/721834/

Берите на заметку, чтобы через полгода-года смело сказать, что вы юзали их, пока это ещё не было мейнстримом.

#подборка #библиотека

Читать полностью…

Zen of Python

Новый выпуск программы для IT-инженеров avito.code!

В этом видео программист из Авито объясняет, как искать элементы, добавлять и удалять теги и структуры, парсить код через редактор NeoVim. А ещё вы узнаете, какие плагины помогут в работе и почему treesitter нужен вообще всем:

https://tprg.ru/3cPK

Реклама ООО «Авито Тех»

Читать полностью…

Zen of Python

​​​​Самые популярные вопросы на собеседовании: «В чём разница между func и func()?»

Это совсем несложный вопрос, но многих новичков он ставит в ступор. На самом деле вопрос нужен только для того, чтобы проверить ваше понимание, что все функции в Python также являются объектами:
def func():
print('Im a function')

func
#=> function __main__.func>

func()
#=> Im a function

func — это представляющий функцию объект, который можно назначить переменной или передать другой функции. А вот функция func() уже вызывает функцию и возвращает результат. Вот и всё :)

#собеседование

Читать полностью…

Zen of Python

Объяснение:

Значение varTwo передаётся в функцию func(). varOne[1, 2, 3] передаётся туда же как ещё одно значение

При этом внутри функции arr[0] = 0 изменяет значение по индексу [0] в списке. Отсюда следует, что varOne = [0,2,3]

Читать полностью…

Zen of Python

Ну наконец-то в электромобили завезли поддержку питона.

Или это не то?

Читать полностью…

Zen of Python

Если ещё не видели, делюсь большим питоном!

birp (борп) — большой русский питон, судя по всему, чей-то мемный проект, который позволяет писать код на русском, но всё ещё пользоваться всеми преимуществами Питона. Транслятор переводит не только ключевые слова, но и встроенные функции, типы, магические методы, а так же некоторые другие слова: https://github.com/evtn/birp

Например, код:
граница = целое(ввод("Введите верхнюю границу: "))

для число в диапазон(граница):
вывод(число)

Транслируется в:
bound = int(input("Введите верхнюю границу: "))

for number in range(bound):
print(number)

Если честно, даже не знаю, каким хэштегом помечать такие посты. Как думаете, как помечать такие посты, чтобы потом их можно было найти? #кек, #треш, #угар, #зверобой? Помогите придумать достойный тег в комментах, чтобы не терять годноту :)

Читать полностью…

Zen of Python

Больше ботов богу ботов: создаём бота, использующего Яндекс.Диск

В этом гайде вы узнаете, как создать Telegram-бота на Python с помощью библиотеки aiogram. Вы подробно рассмотрите процесс создания бота, начиная от регистрации в Telegram, заканчивая разбором программного кода:

https://habr.com/ru/post/720130/

#бот #telegram

Читать полностью…

Zen of Python

VS Code, python, контейнеры — как обуздать эту триаду и разрабатывать внутри контейнера

Наверняка, у каждого был такой момент, когда понимаешь, что простенького редактора или родной среды программирования Python недостаточно и хочется начать программировать по-взрослому.

Но оказывается, что навороченные редакторы кода ещё и настроить правильно нужно. А чтобы полностью настроить среду под себя, иногда уходит очень приличное количество времени.

Это небольшой туториал о настройке VS Code для работы с Python. Просто, по делу, а если планируете работать с контейнерами, то вам отдельно повезло: https://habr.com/ru/company/ruvds/blog/717110/

#vscode

Читать полностью…

Zen of Python

Отгадай слово: как создать игру с элементами машинного обучения и выйти в ноль за 2 месяца

Интересная история, как ребята разработали игру, в которую за два месяца сыграли уже более 107 тысяч уникальных пользователей.

Такие истории на самом деле хороши тем, что там нет успешного успеха и всех этих «мы бросили универ и полгода разрабатывали синхрофазо2048 в гараже». Просто ребята сели, собрали игру на Python, потратились на серваки, набили шишек и в итоге получили очень хороший опыт. И хотя бы затраты на сервак окупили.

Как разрабатывали, как монетезировали и как во всём этом прижился ИИ — можно почитать в статье: https://habr.com/ru/company/aitalenthub/blog/718064/

#ml

Читать полностью…

Zen of Python

«Не хотите видеть это — переведите на удалёнку»

Читать полностью…
Subscribe to a channel