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

Counter: подсчёт числа элементов в списке

Помимо способности collections.Counter() понимать, что именно в строке нужно подсчитать:

from collections import Counter

Counter("mississippi")
>>> Counter({'i': 4, 's': 4, 'p': 2, 'm': 1})

в случае со списком слов модуль автоматически рассчитает, как часто встречается тот или иной элемент:

party_list = ["Alice", "Bob", "Alice", "Eve", "Bob", "Eve", "Alice"]
print(Counter(party_list))
>>> Counter({'Alice': 3, 'Bob': 2, 'Eve': 2})

#лучшиепрактики

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

Zen of Python

Что делать, если код на Python "замораживается"

Назвали 5 способов борьбы с заморозкой кода. Среди них рефакторинг и профилирование кода, запуск на JIT. Полный список в этой статье.

А какие еще методы разморозки вы применяете? Поделитесь в комментариях.

Анонс

#карьера

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

Zen of Python

Cam-Hackers: общедоступная база камер видеонаблюдения

Используя скрипт CamHackers ниже, вы можете получить список хакнутых / общедоступных камерам из разных стран. В списке выводятся IP-адрес и порт для подключения.

$ git clone https://github.com/AngelSecurityTeam/Cam-Hackers

$ cd Cam-Hackers
$ pip install -r requirements.txt

Использование:
$ python3 cam-hackers.py

Скрипт вернет список из стран, останется лишь выбрать нужную вам.

#факты

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

Zen of Python

Codeium: навсегда бесплатная AI-система автодополнения кода

Один из подписчиков Zen of Python посоветовал это расширение, и вот что оказалось в нем замечательного: заявлено, что расширение может дебажить код на Python. Тем временем её соперница chatGPT генерирует код, а компилируемость ее не особо волнует.

На видео расширение помогает писать регулярные выражения.

А у вас есть опыт использования таких ассистентов? Кто из таких расширений справился с этой типичной ошибкой GPT?

#лучшиепрактики

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

Zen of Python

PyCharm: управление пакетами для нескольких проектов

Окно инструментов «Пакеты Python» теперь поддерживает зависимые проекты. Выбрав проект на дополнительной панели слева от окна инструмента, вы можете устанавливать и удалять утилиты, а также управлять их версиями.

#pycharm

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

Zen of Python

Как разделить строку по определённому символу

В этом вам поможет split() с ее позиционным аргументом sep (разделителем):

txt = "apple#banana#cherry#orange"
x = txt.split("#")
print(x)

>>> ['apple', 'banana', 'cherry', 'orange']

#лучшиепрактики

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

Zen of Python

Пять продвинутых фишек Django

В своей статье Steven Pate описывает пять advanced-фишек фреймворка, таких как объекты Q для комбинирования запросов типа ИЛИ + И:

TickerPrice.objects.filter(
models.Q(price__gt=1000),
(models.Q(close_date=today) | models.Q(close_date=yesterday)),
)

#django

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

Zen of Python

СИБУР Диджитал — команда настоящих дерзателей IT-промышленности

Они стремятся к масштабным целям, достигают их и принимают новые вызовы. Чтобы напомнить об этом, компания отправилась на фестиваль IT и спорта RUNIT, который прошёл 18 июня в Москве. В забеге участвовали 75 сотрудников, а один из них занял третье место на дистанции в 25 километров.

Но СИБУР Диджитал решил бросить вызов и другим участникам забега: подготовил «второй финиш» — ряд испытаний для тех, кто, достигая амбициозной цели, сразу же ставит перед собой следующую.

Гости фестиваля:
— Проходили «Проверку на дерзателя» от известного атлета и блогера Виктора Блуда.

— Разминали не только ноги, но и голову, решая IT-загадки и выигрывая ценные призы.

— Посещали «Галерею дерзателей» — выставку фото участников, сделанных во время забега.

— Выигрывали призы за сдачу пластиковых бутылок на переработку.

Тоже считаете себя настоящим дерзателем? Жаждете новых испытаний? Считаете, что задавать тренды промышленной IT-индустрии — цель, достойная вас?

Тогда присоединяйтесь к комьюнити и переворачивай IT вместе с СИБУР Диджитал: /channel/sdc_channel

Реклама ПАО «СИБУР Холдинг» LjN8JwgZu

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

Zen of Python

Что нового в последней версии Python 3.11: таймер asyncio

Добавлен timeout() — утилита для установки времени ожидания для асинхронных операций. Рекомендуется вместо непосредственного использования wait_for().

import asyncio

# Новое в Python 3.11.
async with asyncio.timeout(delay):
await long_running_task()

А в каких ситуациях вам пригождался asyncio? Нужен ли был ему таймер обратного отсчета? Поделитесь в комментариях.

#лучшиепрактики

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

Zen of Python

PEP8: словно и не менялось ничего с прошлой версии

В своей статье Егор Егоров доступным языком обозревает обновления в стандарте PEP версии 8. Вы узнаете, какую максимальную длину строки рекомендуют создатели, для каких объектов ЯП при именовании использовать строчные, а для каких — заглавные буквы. Узнаете, для чего придумали линтеры.

А вы бы добавили какой-нибудь принцип? Поделитесь в комментариях.

#PEP

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

Zen of Python

Как скачивать видео с YouTube с помощью Python

Если вам нужно поставить на поток скачивание видео, то зациклить список ссылок — оптимальное решение. С остальным поможет библиотека putybe: opensouce-инструмент, позволяющий скачать файл за четыре строки кода:

from pytube import YouTube

YouTube('https://youtu.be/2lAe1cqCOXo').streams.first().download()
yt = YouTube('http://youtube.com/watch?v=2lAe1cqCOXo')
yt.streams

#лучшиепрактики

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

Zen of Python

Если Windows не видит Python как системную переменную

Если вы проследовали стандартной процедуре добавления Python в средовые переменные (как в этой инструкции), а программа все еще не может «схватить» установленный ЯП, то вы можете:

— перезагрузить консоль;
— перезагрузить систему;
— переустановить языковой пакет, установив флажок («Добавить в средовые переменные»);
— очистить регистр (например, с CCleaner).

#факты

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

Zen of Python

Кватернион: вы много раз его видели, но не знали названия

Quaternion (кватернион) — это структура данных, которая используется для представления и манипулирования ориентацией в трёхмерном пространстве. Он состоит из четырех компонентов: одного скаляра и трех векторов.

from pyquaternion import Quaternion

my_quaternion = Quaternion(axis=[1, 0, 0], angle=3.14159265)

Кватернионы широко используются в анимации для описания плавных переходов (интерполяция).

#факты

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

Zen of Python

requests: вложенные параметры

Возможно, вы сталкивались с ситуацией, кода тестовый HTTP-запрос в Postman работает корректно, а при переходе в requests часть параметров игнорируется. Дело в синтаксисе вложенных параметров. Порой в объект params кладутся многоуровневые объекты.

Пример ниже — вложенные параметры для выгрузки логов конструктора Aimylogic за день:

import requests

payload = {"filters": [
{"key": "MESSAGE_TIME", "type": "DATE_TIME_RANGE",
"from": f"2023-06-18T20:59:59.999Z", "to": f"2023-06-18T20:59:59.999Z"}]}

r = requests.post('https://app.jaicp.com/api/reporter/p/[TOKEN]/messages/filter', params=params)

Несмотря на кажущуюся бессмысленность двойных скобок (квадратные + фигурные), именно в таком виде подаются фильтры «Логи чат-бота за 18 июня 2023». Вероятно, подразумевалось добавление соседей.

#requests

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

Zen of Python

Многие профессионалы в сфере IT&Digital сотрудничают с той или иной онлайн-школой: кто-то создает образовательные курсы, кто-то преподает, кто-то менторит студентов или проверяет их работы

Коллеги из Яндекс Практикума задались вопросами:
— Что мотивирует экспертов на сотрудничество?
— Какие факторы влияют на выбор школы?
— Что вдохновляет, а что может оттолкнуть и доставить дискомфорт? 

Примите участие в исследовании с 15 по 23 июня. 

Важно: можно поучаствовать, даже если опыта сотрудничества с онлайн-школой не было или вы только выбираете проект.

На прохождение опроса вы потратите всего 7 минут, а в конце вас ждёт подарок — цифровые книги от издательства «МИФ». 

Пройти опрос можно здесь.

Реклама АНО ДПО "Образовательные технологии Яндекса", ИНН:7704282033, erid:LjN8KAP91

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

Zen of Python

Dino Game своими руками

Многие из нас играли в бегающего динозаврика в Google Chrome, когда сети нет.

В своей статье Adones Evangelista рассказал, как написать точно такую же мини-игру на Python, используя библиотеки pygame и random.

#pygame #random

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

Zen of Python

Как проитерировать разномастный список «по атомам»

Если у нас есть список, содержащий объекты разного типа — строки, списки, словари, то превратить этот набор в перечень «неделимых» элементов — букв и чисел, поможет модуль chain библиотеки itertools:

from itertools import chain

chained = chain('ab', [33])
next(chained) # a
next(chained) # b
next(chained) # 33

Какие еще фишки itertools вы знаете? Поделитесь в комментариях.

#лучшиепрактики

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

Zen of Python

PyCharm и рефакторинг объектов

В последнем обновлении IDE вместо того, чтобы вводить новое имя во всплывающем диалоговом окне, теперь вы можете изменить его через встроенную форму:

А как вы рефакторите свои объекты? Поделитесь в комментариях.

#pycharm

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

Zen of Python

Погрузитесь в мир Python и станьте разработчиком за рекордные 4 месяца с курсом от Merion Academy!

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

В качестве бонуса:

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

У Merion Academy одна из самых доступных цен на рынке. При этом имеется и рассрочка, чтобы учиться сейчас, а платить по чуть-чуть ежемесячно.

Регистрируйтесь по ссылке чтобы забрать бесплатные уроки, интенсив по карьере и гайд: https://wiki.merionet.ru/merion-academy/courses/kurs-po-python/?code=SLXFO9DSIT&utm_source=tg&utm_medium=paid&utm_campaign=zen_of_python

Реклама ООО «Мерион Нетворкс» LjN8KHZ2P

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

Zen of Python

CodingGame поддерживает Python

codingame.com – живенький эмулятор игр разных жанров для новичков программирования, включая Python. Там студенту в игровой форме предлагают осваивать базовую терминологию и навыки решения задач. Хороший способ развеяться и при этом продолжить учиться, привыкая к процессу разработки.

А в какие игровые приложения вы играли, когда учили Python? Поделитесь в комментариях.

#обучение

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

Zen of Python

Курс по python-разработке для тех, кто хочет сменить профессию

Неважно, сколько вам лет и есть ли у вас опыт в IT — за 9 месяцев учёбы освоить разработку сможет каждый. Это возможно, если правильно выстроить программу и усердно заниматься. Упорство зависит от вас, а о качестве материалов позаботилась команда Яндекс Практикума:

— программа основана на реальных требованиях работодателей к младшим специалистам;
— интерактивный тренажёр помогает освоить теорию и закрепить её в тестах;
— практика идёт на учебных проектах для портфолио: от чат-бота и сайта-отзовика до соцсети и многофункционального сервиса.

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

Пройдите первый урок бесплатно.

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

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

Zen of Python

Как создать свой модуль

В 11-минутном ролике ютьюбер Cidprim показывает на очень простом примере, как создать модуль и импортировать его в существующий код.

#новичкам

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

Zen of Python

Кто читает системные аргументы командной строки: argparse

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

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("square", help="display a square of a given number", type=int)
args = parser.parse_args()
print(args.square**2)

>>> 16

#лучшиепрактики

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

Zen of Python

Подсчёт числа записей в БД за выбранный период времени

Частой просьбой от хозяев проекта может стать подсчёт записей по дням. Такой SQL-запрос можно встроить в код Python, который запускается по расписанию и автоматизирует подсчёт по дням.

SELECT
TIMESTAMP_TRUNC(Timestamp, day) Timestamp,
COUNT(1) `Count`
FROM table
GROUP BY 1
ORDER BY Timestamp

TIMESTAMP_TRUNC() обрежет столбец даты и времени до выбранного диапазона, в нашем случае, дня. COUNT(1) создаст служебный столбец Count и выставит все значения столбца, равными единице. Затем мы сгруппируем все ряды по этой единице, тем самым произведя подсчёт числа рядов.

В результате мы получим вот такой полезный вывод данных ниже:

#SQL

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

Zen of Python

От пользователя Excel к разработчику Python

В замечательном англоязычном подкасте PyBites авторы побеседовали с испанцем Хуаном Гонсалесом и узнали:

— как преодолеть «паралич воли» при обучении на видеоуроках;
— как справиться с синдромом самозванца;
— о роли хорошего комьюнити в поддержании мотивации.

#карьера

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

Zen of Python

Catch me if you can… и выиграй скидку на курсы по Python!

Вместе с образовательной платформой Нетология сделали игру, в которой вам нужно попадать по питонам и получать за это скидку на курсы. Готовьте свой молоток — охота на Python в самом разгаре: https://tprg.ru/bstJ

Реклама ООО «Нетология»

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

Zen of Python

Плагины Django

Мы рады представить вам анонс статьи «10 самых частоиспользуемых плагинов Django», которые расширяют возможности фреймворка для разработки веб-приложений.

Помимо общеизвестных Django REST, в статье вы встретите и NoSQL-решения для хранения данных и адаптацию pytest.

Какие еще полезные плагины вы знаете? Поделитесь в комментариях.

#django

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

Zen of Python

Почему не везде есть if __name__ == "__main__"

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

Поэтому эту строку легко встретить при создании проекта на почти любом фреймворке, к примеру, aiogram.

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

#факты

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

Zen of Python

Как объединить два списка

В Python встроенная функция zip() используется для объединения нескольких элементов в кортежи с соответствующими элементами других объектов. Например, для объединения элементов двух списков можно использовать zip().

Вот пример:

list1 = ['a', 'b', 'c']
list2 = [1, 2, 3]

result = zip(list1, list2)
print(list(result))

Результат выполнения этого кода будет следующий:
[('a', 1), ('b', 2), ('c', 3)]

zip() создает кортежи из соответствующих элементов list1 и list2. Каждый кортеж содержит элементы с одинаковыми индексами.

#факты

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

Zen of Python

Дешевые хостинги: какие используете вы?

Согласно рейтингу hostinghub.ru, в первую тройку лучших VPS (виртуальных частных серверов) входят:

— timeweb.cloud;
— aesa.net;
— vdsina.ru.

А какими серверами пользуетесь вы? Что в них для вас самое важное? Поделитесь в комментариях.

#VPS

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