Разъяснивший Python
8.2K subscribers
2.42K photos
40 videos
30 files
2.27K links
Твой проводник в омут Python'а

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: https://telega.in/c/python_pssss
Download Telegram
Python 3. Самое необходимое..pdf
29.7 MB
Python 3. Самое необходимое.
2019
#RU
👍5
Менять списки во время итерации плохая идея, и вот почему:

С помощью итератора мы можем пройтись по элементам списка, так давайте напишем свой итератор и посмотрим, что там происходит внутри.

Как мы видим, поскольку удалили 1 из списка, все элементы сместились влево и на второй позиции уже будет не двойка а тройка.

Её тоже удаляем и получаем [2, 4]. Поскольку дальше двигаться некуда, итератор останавливает свою работу.

#объяснение
👍14
⚡️ Учим Python с GitHub

python-guide — проект-документация по языку, от новичка до профи. Качать его не обязательно, ведь есть и веб версия.

TheAlgorithms — репозиторий с огромным количеством реализованных алгоритмов, структур данных

python-patterns — набор шаблонов проектирования, написанных на Python. Здесь нет ConcreteObserver2 и подобного, все шаблоны разобраны на реальных примерах.

#миниурок
👍4🤬1
⚡️ Упрощаем поиск багов

Функция поиска площади квадрата со стороной 5 должна возвращать 25. А если не вернёт? Самый быстрый способ это проверять — использовать assert.

Если оператор получает на первый аргумент False, то выводит AssertionError с текстом из второго аргумента (если таков имеется).

Чтобы убрать проверку, добавьте флаг -O при запуске приложения: python3 -O foo.py. Подробнее в документации.

#теория
👍8
com.foobnix.pro.pdf.reader_4000.apk
48.3 MB
🧩 Librera Reader.
Читалка книг

Librera Reader - это гибко настраиваемое и многофункциональное приложение для чтения книг на Android устройствах,
которое поддерживает множество форматов: PDF, EPUB, MOBI, DjVu, FB2, TXT, RTF, AZW, AZW3, HTML, CBZ, CBR.
Обладая интуитивно понятным и удобным интерфейсом, Librera поможет вам получить настоящее удовольствие от чтения книги.

• Для большей безопасности Librera Reader для F-Droid использует MuPDF 1.16.1 и не требует разрешения Интернет.

https://f-droid.org/ru/packages/com.foobnix.pro.pdf.reader/

#Librera #SOFT
👍5
Что?

Буквы сортируются не в алфавитном порядке, а по позиции в таблице UTF-16, получить значение которого можно с помощью ord(x).

В верхнем регистре символы имеют меньшее значение, чем в нижнем, поэтому они оказались в начале списка.

#объяснение
👍13🔥2
⚡️ Context Manager

Помните про with? Там рассказывалось про его использование с классами, но ничто не мешает использовать его с функциями. Только нужна библиотека contextlib.

Чтобы функция могла работать с with, вы добавляете @contextmanager или @asynccontextmanager, в зависимости от того, нужно ли вам асинхронное выполнение.

Только ещё вам нужно yield, чтобы вернуть объект, с которым будет работать with и при этом только приостановить работу функции. Подробнее.

#миниурок #contextlib
⚡️ Создаём интерфейс командной строки

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

Установка: pip install fire

Модуль придерживается ООПшного стиля, что сильно упрощает интеграцию к себе в проект.

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

#миниурок #fire
👍3
Как определить истинный этот объект или нет?

Многие знают, что в Python всё можно перевести в bool. Пустые последовательности и коллекции ('', [], (), {}, range(0)), None и 0 возвращают False. Остальное — True.

Но как это просчитывается? Вызывается __bool__() метод, который возвращает True/False. Если его нет, используется __len__(). Если метод вернёт 0, то результат будет False.

Если ни одна из функций не определена, то объекты считаются True.

#объяснение
👍1
Media is too big
VIEW IN TELEGRAM
Python для начинающих

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

00:00 Вступление
00:41 Установка Python и Pycharm
04:57 Консольные ввод и вывод
08:56 Переменные
18:22 Операторы
25:30 Условный оператор
30:55 Работа со списками
36:16 Работа с словарями
42:34 Цикл while
46:13 Цикл for
51:22 Функции

Смотреть это видео на youtube: youtu.be/ZY-uCwE8u9k
Любопытно

round(x) округляет значения до ближайшего чётного числа (в документации так и написано). В википедии можно даже найти такое правило.

Если вам нужно, чтобы 2.5 округлялось до трёх, то посмотрите в сторону decimal с настройкой ctx.rounding = ROUND_HALF_UP. Подробнее.

#объяснение
🤯26👍7🤔5
🎙 Голосовой ассистент на Python

Хочешь управлять компьютером с помощью голоса?

В детстве смотря фантастические фильмы мечтал создать программу с помощью которой мог бы управлять компьютером с помощью голоса. В данном видео пошагово пишем голосового помощника на языке Python c помощью библиотек speech recognition и pyaudio.

https://www.youtube.com/watch?v=ZZVWae8E9K0
4
Любопытно

round(x) округляет значения до ближайшего чётного числа (в документации так и написано). В википедии можно даже найти такое правило.

Если вам нужно, чтобы 2.5 округлялось до трёх, то посмотрите в сторону decimal с настройкой ctx.rounding = ROUND_HALF_UP. Подробнее.

#объяснение
👎26👍9💩4🤔1
🔥 Pydantic

Работали с JSON? Значит вы явно знакомы с болью, когда превращаешь строку в объект. Нужно писать кучу проверок, переводить в определённый тип, что-то делать с датами?

Все проблемы с типизацией решает Pydantic. Что модуль умеет и как им пользоваться рассказывает автор ролика.

Смотреть | #видео
👍9
Строки на несколько строк

Бывают ситуации, когда строку лучше разделить, чтобы она легче читалась, но при этом сохранить её содержимое в полном порядке. В таком случае у нас есть три варианта:

· Использовать косую черту (/). Тогда мы переносим выражение на новую строку и ни о чем не заботимся.

· Использовать скобки. Смотрите лучше пример. Никаких + использовать не надо, строки сами объединяться.

· Использовать тройные кавычки. Внутри тройных кавычек все останется именно таким, как оно есть.

#теория
9👍6🔥2
Media is too big
VIEW IN TELEGRAM
Почему Python захватывает мир?

В этом видео автор подробно разбирает преимущества, особенности и популярность языка Python. Также автор поделится информацией о зарплатах и требованиях к разработчикам Python.

00:00 Начало
01:03 Обзор и синтаксис
03:47 Простота языка как одно из главных преимуществ
06:00 Сравнение с другими языками
07:53 Применение в Web
09:51 Применение в Machine Learning
12:17 Применение в Big Data
13:54 Популярность
14:47 Инструменты разработки
15:14 Зарплаты
16:00 Требования к Junior

Смотреть это видео на youtube: youtu.be/rn3E8Y45NrM
IEEE 754

Это стандарт, который говорит как расставить нолики и единички, чтобы получить float. Он позволяет нам писать 0.3, но из-за него же 0.1 + 0.2 != 0.3.

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

#объяснение
🤯13🤨4🔥2👍1
🌄 Как прогуливать встречи в Zoom с помощью Python

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

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

О том, как такой алгоритм реализовать читайте в статье:

https://habr.com/ru/post/593483/
😁11👍8🤔3💩1
Интерпретатор умный

Перед запуском он проходится по файлу и смотрит на первые значения переменных (a = "string"), которые потом подставляет на месте повторений (если это неизменяемые типы данных).

Именно поэтому, когда вы выполняете код в интерактивном интерпретаторе и как файл, результат может отличаться.

#объяснение
👍44🤯35
⌨️ Пишем Telegram-бота для учета расходов на Python

🎯 Туториалы про разработке чат-ботов делятся на два типа: код уровня Hello World и абстрактные сложные проекты, которые никогда не пригодятся в реальной жизни. Но на Ютубе все-таки нашелся годный видос, где чувак пилит бота для учета личных финансов.

💬 За полчаса автор разобрал все, что нужно для разработки подобных проектов: от создания и оформления бота до финального деплоя на продакшн сервер. В процессе разработки были использованы Python, асинхронный фреймворк Aiogram, база данных SQLite и Docker для контейнеризации проекта.

https://www.youtube.com/watch?v=Kh16iosOTIQ
👍11