Менять списки во время итерации плохая идея, и вот почему:
С помощью итератора мы можем пройтись по элементам списка, так давайте напишем свой итератор и посмотрим, что там происходит внутри.
Как мы видим, поскольку удалили 1 из списка, все элементы сместились влево и на второй позиции уже будет не двойка а тройка.
Её тоже удаляем и получаем
#объяснение
С помощью итератора мы можем пройтись по элементам списка, так давайте напишем свой итератор и посмотрим, что там происходит внутри.
Как мы видим, поскольку удалили 1 из списка, все элементы сместились влево и на второй позиции уже будет не двойка а тройка.
Её тоже удаляем и получаем
[2, 4]
. Поскольку дальше двигаться некуда, итератор останавливает свою работу.#объяснение
👍14
⚡️ Учим Python с GitHub
python-guide — проект-документация по языку, от новичка до профи. Качать его не обязательно, ведь есть и веб версия.
TheAlgorithms — репозиторий с огромным количеством реализованных алгоритмов, структур данных
python-patterns — набор шаблонов проектирования, написанных на Python. Здесь нет ConcreteObserver2 и подобного, все шаблоны разобраны на реальных примерах.
#миниурок
python-guide — проект-документация по языку, от новичка до профи. Качать его не обязательно, ведь есть и веб версия.
TheAlgorithms — репозиторий с огромным количеством реализованных алгоритмов, структур данных
python-patterns — набор шаблонов проектирования, написанных на Python. Здесь нет ConcreteObserver2 и подобного, все шаблоны разобраны на реальных примерах.
#миниурок
👍4🤬1
⚡️ Упрощаем поиск багов
Функция поиска площади квадрата со стороной 5 должна возвращать 25. А если не вернёт? Самый быстрый способ это проверять — использовать assert.
Если оператор получает на первый аргумент False, то выводит AssertionError с текстом из второго аргумента (если таков имеется).
Чтобы убрать проверку, добавьте флаг -O при запуске приложения:
#теория
Функция поиска площади квадрата со стороной 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
Читалка книг
• 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, получить значение которого можно с помощью
В верхнем регистре символы имеют меньшее значение, чем в нижнем, поэтому они оказались в начале списка.
#объяснение
Буквы сортируются не в алфавитном порядке, а по позиции в таблице UTF-16, получить значение которого можно с помощью
ord(x)
.В верхнем регистре символы имеют меньшее значение, чем в нижнем, поэтому они оказались в начале списка.
#объяснение
👍13🔥2
⚡️ Context Manager
Помните про with? Там рассказывалось про его использование с классами, но ничто не мешает использовать его с функциями. Только нужна библиотека contextlib.
Чтобы функция могла работать с with, вы добавляете
Только ещё вам нужно yield, чтобы вернуть объект, с которым будет работать with и при этом только приостановить работу функции. Подробнее.
#миниурок #contextlib
Помните про with? Там рассказывалось про его использование с классами, но ничто не мешает использовать его с функциями. Только нужна библиотека contextlib.
Чтобы функция могла работать с with, вы добавляете
@contextmanager
или @asynccontextmanager
, в зависимости от того, нужно ли вам асинхронное выполнение.Только ещё вам нужно yield, чтобы вернуть объект, с которым будет работать with и при этом только приостановить работу функции. Подробнее.
#миниурок #contextlib
⚡️ Создаём интерфейс командной строки
Если вы пишите консольное приложение, то обязаны позаботиться о том, чтобы пользователям было удобно им пользоваться. CLI вам поможет создать fire.
Установка:
Также он предоставляет доступ ко всем атрибутам, которые переданы в него. Об этом и не только подробнее в документации.
#миниурок #fire
Если вы пишите консольное приложение, то обязаны позаботиться о том, чтобы пользователям было удобно им пользоваться. CLI вам поможет создать fire.
Установка:
pip install fire
Модуль придерживается ООПшного стиля, что сильно упрощает интеграцию к себе в проект.Также он предоставляет доступ ко всем атрибутам, которые переданы в него. Об этом и не только подробнее в документации.
#миниурок #fire
👍3
Как определить истинный этот объект или нет?
Многие знают, что в Python всё можно перевести в bool. Пустые последовательности и коллекции ('', [], (), {}, range(0)), None и 0 возвращают False. Остальное — True.
Но как это просчитывается? Вызывается
Если ни одна из функций не определена, то объекты считаются True.
#объяснение
Многие знают, что в 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
В этом видеоуроке автор разбирает язык 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
Любопытно
Если вам нужно, чтобы 2.5 округлялось до трёх, то посмотрите в сторону decimal с настройкой
#объяснение
round(x)
округляет значения до ближайшего чётного числа (в документации так и написано). В википедии можно даже найти такое правило. Если вам нужно, чтобы 2.5 округлялось до трёх, то посмотрите в сторону decimal с настройкой
ctx.rounding = ROUND_HALF_UP
. Подробнее.#объяснение
🤯26👍7🤔5
🎙 Голосовой ассистент на Python
Хочешь управлять компьютером с помощью голоса?
В детстве смотря фантастические фильмы мечтал создать программу с помощью которой мог бы управлять компьютером с помощью голоса. В данном видео пошагово пишем голосового помощника на языке Python c помощью библиотек
https://www.youtube.com/watch?v=ZZVWae8E9K0
Хочешь управлять компьютером с помощью голоса?
В детстве смотря фантастические фильмы мечтал создать программу с помощью которой мог бы управлять компьютером с помощью голоса. В данном видео пошагово пишем голосового помощника на языке Python c помощью библиотек
speech recognition
и pyaudio
.https://www.youtube.com/watch?v=ZZVWae8E9K0
YouTube
Голосовой ассистент на Python | Голосовое управление компьютером | Распознавание речи Python
⚡️ Практика Python ⚡️
🎙 Хочешь управлять компьютером с помощью голоса?
В детстве смотря фантастические фильмы мечтал создать программу с помощью которой мог бы управлять компьютером с помощью голоса. В данном видео пошагово пишем голосового помощника на…
🎙 Хочешь управлять компьютером с помощью голоса?
В детстве смотря фантастические фильмы мечтал создать программу с помощью которой мог бы управлять компьютером с помощью голоса. В данном видео пошагово пишем голосового помощника на…
❤4
Любопытно
Если вам нужно, чтобы 2.5 округлялось до трёх, то посмотрите в сторону decimal с настройкой
#объяснение
round(x)
округляет значения до ближайшего чётного числа (в документации так и написано). В википедии можно даже найти такое правило. Если вам нужно, чтобы 2.5 округлялось до трёх, то посмотрите в сторону decimal с настройкой
ctx.rounding = ROUND_HALF_UP
. Подробнее.#объяснение
👎26👍9💩4🤔1
🔥 Pydantic
Работали с JSON? Значит вы явно знакомы с болью, когда превращаешь строку в объект. Нужно писать кучу проверок, переводить в определённый тип, что-то делать с датами?
Все проблемы с типизацией решает Pydantic. Что модуль умеет и как им пользоваться рассказывает автор ролика.
Смотреть | #видео
Работали с JSON? Значит вы явно знакомы с болью, когда превращаешь строку в объект. Нужно писать кучу проверок, переводить в определённый тип, что-то делать с датами?
Все проблемы с типизацией решает Pydantic. Что модуль умеет и как им пользоваться рассказывает автор ролика.
Смотреть | #видео
YouTube
Pydantic — умопомрачительная валидация данных на Python! JSON + Pydantic = ❤️
Мой курс «Хардкорная веб-разработка» — https://course.to.digital
Книжный клуб Ботаним!, где мы читаем хорошие ИТ-книги: https://botanim.to.digital/
Telegram: https://t0digital.t.me
Сказать спасибо за это видео можно здесь — https://boosty.to/digitalize.team…
Книжный клуб Ботаним!, где мы читаем хорошие ИТ-книги: https://botanim.to.digital/
Telegram: https://t0digital.t.me
Сказать спасибо за это видео можно здесь — https://boosty.to/digitalize.team…
👍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
В этом видео автор подробно разбирает преимущества, особенности и популярность языка 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.
На эту тему тут был ролик, а я пока расскажу про странные моменты, которые связаны с этим стандартом.
#объяснение
Это стандарт, который говорит как расставить нолики и единички, чтобы получить float. Он позволяет нам писать 0.3, но из-за него же 0.1 + 0.2 != 0.3.
На эту тему тут был ролик, а я пока расскажу про странные моменты, которые связаны с этим стандартом.
#объяснение
🤯13🤨4🔥2👍1
🌄 Как прогуливать встречи в Zoom с помощью Python
Не всегда хочется вставать в 8 утра, чтобы прослушать скучную лекцию, которая может не содержать полезной информации. Согласны? Но что делать, если преподаватель хочет видеть на лекции всех студентов без исключения?
Можно написать алгоритм, который будет создавать видимость вашего присутствия, пока вы будете спокойно досматривать интересный сон.
О том, как такой алгоритм реализовать читайте в статье:
https://habr.com/ru/post/593483/
Не всегда хочется вставать в 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
🎯 Туториалы про разработке чат-ботов делятся на два типа: код уровня Hello World и абстрактные сложные проекты, которые никогда не пригодятся в реальной жизни. Но на Ютубе все-таки нашелся годный видос, где чувак пилит бота для учета личных финансов.
💬 За полчаса автор разобрал все, что нужно для разработки подобных проектов: от создания и оформления бота до финального деплоя на продакшн сервер. В процессе разработки были использованы Python, асинхронный фреймворк Aiogram, база данных SQLite и Docker для контейнеризации проекта.
https://www.youtube.com/watch?v=Kh16iosOTIQ
YouTube
Пишем Telegram бот для учёта расходов с Python, Asyncio/Aiogram, SQLite и Docker
Мой курс «Хардкорная веб-разработка» — https://course.to.digital
Книжный клуб Ботаним!, где мы читаем хорошие ИТ-книги: https://botanim.to.digital/
Telegram: https://t0digital.t.me
Сказать спасибо за это видео можно здесь — https://boosty.to/digitalize.team…
Книжный клуб Ботаним!, где мы читаем хорошие ИТ-книги: https://botanim.to.digital/
Telegram: https://t0digital.t.me
Сказать спасибо за это видео можно здесь — https://boosty.to/digitalize.team…
👍11