Разбираем задачку на функциональное программирование с Codewars:)
https://youtu.be/SjSY9PBfDj4
#youtube #IT #python
https://youtu.be/SjSY9PBfDj4
#youtube #IT #python
YouTube
Разбор задачки на функциональное программирование в Python
Разбираем ещё одну задачку с codewars на функциональное программирование в Python.
Мой курс «Хардкорная веб-разработка» — https://course.to.digital
Книжный клуб Ботаним!, где мы читаем хорошие ИТ-книги: https://botanim.to.digital/
Telegram: https://t0digital.t.me…
Мой курс «Хардкорная веб-разработка» — https://course.to.digital
Книжный клуб Ботаним!, где мы читаем хорошие ИТ-книги: https://botanim.to.digital/
Telegram: https://t0digital.t.me…
🔥83👍31❤4🤔2
Смотрим, что нового-бодрого-прекрасного завезли в релизе Python 3.11, вышедшем вчера!
https://youtu.be/hF_hul5k07A
#YouYube #python #IT #news
https://youtu.be/hF_hul5k07A
#YouYube #python #IT #news
YouTube
⚡Python 3.11 — СКОРОСТНОЙ горячий пирожочек!
Смотрим, что нового-бодрого-прекрасного завезли в релизе Python 3.11, вышедшем вчера!
Мой курс «Хардкорная веб-разработка» — https://course.to.digital
Книжный клуб Ботаним!, где мы читаем хорошие ИТ-книги: https://botanim.to.digital/
Telegram — https://xn--r1a.website/t0digital…
Мой курс «Хардкорная веб-разработка» — https://course.to.digital
Книжный клуб Ботаним!, где мы читаем хорошие ИТ-книги: https://botanim.to.digital/
Telegram — https://xn--r1a.website/t0digital…
👍161🎉23🔥16❤11😢2
Вдогонку — спрашивают, а что почитать по пайтону для начинающих или что почитать для подготовки к твоему курсу, если есть время и возможность.
2 книги.
* Простой Python, Билл Любанович, 2 издание
* Начинаем программировать на Python, Гэддис Тони, 5 издание
Скоро (ннннаверное!) будет видео с обзором книг по Python вообще, там подробнее расскажу. Но кто хочет подготовиться к курсу и не умеет пока уверенно в Python, будет полезно почитать эти книги. Если вы совсем новичок, то начните со второй. Если уже что-то умеете — возможно вам будет достаточно первой.
#books #python
2 книги.
* Простой Python, Билл Любанович, 2 издание
* Начинаем программировать на Python, Гэддис Тони, 5 издание
Скоро (ннннаверное!) будет видео с обзором книг по Python вообще, там подробнее расскажу. Но кто хочет подготовиться к курсу и не умеет пока уверенно в Python, будет полезно почитать эти книги. Если вы совсем новичок, то начните со второй. Если уже что-то умеете — возможно вам будет достаточно первой.
#books #python
❤106👍48🔥41
Telegram бот @donate позволяет подключать донаты в Telegram, а также создавать платные закрытые каналы по подписке. И всем-то он хорош, да только не умеет ограничивать доступ в чат, привязанный к платному каналу. Это-то мы и пофиксим собственным решением — задействуем Telegram Bot API, Telegram API и Python с библиотекой Telethon. Вжух!
https://youtu.be/yBw1b2hFI_4
Комментарии на YouTube, пожалуйста!
#python #IT #youtube
https://youtu.be/yBw1b2hFI_4
Комментарии на YouTube, пожалуйста!
#python #IT #youtube
YouTube
Дорабатываем Telegram бот donate: Python, Telegram Bot API, Telegram API (Telethon)
Telegram бот donate позволяет подключать донаты в Telegram, а также создавать платные закрытые каналы по подписке. И всем-то он хорош, да только не умеет ограничивать доступ в чат, привязанный к платному каналу. Это-то мы и пофиксим собственным решением —…
👍124🔥21❤4
Большое интервью Гвидо ван Россума час назад вышло у Лекса Фридмана
https://www.youtube.com/watch?v=-DVyjdw4t9I
0:00 - Introduction
0:48 - CPython
6:01 - Code readability
10:22 - Indentation
26:58 - Bugs
38:26 - Programming fads
53:37 - Speed of Python 3.11
1:18:31 - Type hinting
1:23:49 - mypy
1:29:05 - TypeScript vs JavaScript
1:45:05 - Best IDE for Python
1:55:05 - Parallelism
2:12:58 - Global Interpreter Lock (GIL)
2:22:36 - Python 4.0
2:34:53 - Machine learning
2:44:35 - Benevolent Dictator for Life (BDFL)
2:56:11 - Advice for beginners
3:02:43 - GitHub Copilot
3:06:10 - Future of Python
#IT #Python
https://www.youtube.com/watch?v=-DVyjdw4t9I
0:00 - Introduction
0:48 - CPython
6:01 - Code readability
10:22 - Indentation
26:58 - Bugs
38:26 - Programming fads
53:37 - Speed of Python 3.11
1:18:31 - Type hinting
1:23:49 - mypy
1:29:05 - TypeScript vs JavaScript
1:45:05 - Best IDE for Python
1:55:05 - Parallelism
2:12:58 - Global Interpreter Lock (GIL)
2:22:36 - Python 4.0
2:34:53 - Machine learning
2:44:35 - Benevolent Dictator for Life (BDFL)
2:56:11 - Advice for beginners
3:02:43 - GitHub Copilot
3:06:10 - Future of Python
#IT #Python
YouTube
Guido van Rossum: Python and the Future of Programming | Lex Fridman Podcast #341
Guido van Rossum is the creator of Python programming language. Please support this podcast by checking out our sponsors:
- GiveDirectly: https://givedirectly.org/lex to get gift matched up to $1000
- Eight Sleep: https://www.eightsleep.com/lex to get special…
- GiveDirectly: https://givedirectly.org/lex to get gift matched up to $1000
- Eight Sleep: https://www.eightsleep.com/lex to get special…
👍176🔥50❤9🎉3🥰2
Внезапно узнал, переустанавливая вчера
Локализовав проблему, воспроизвёл её на минимальном коде:
… и падает SSL ошибка. То есть все HTTPS запросы не алё.
Погуглив, выяснилось, что Python на маке вообще, оказывается, с версии чуть ли не 3.6 не дружит с сертификатами и, чтобы всё было чётенько, после установки надо подшаманить. Я Python из исходников собираю по привычке, возможно, если ставить из pkg установщика, такой проблемы нет, не в курсе.
Итого, накатываем пакет
И добавляем три переменные окружения, прописав их в
и ура-ура!
Видос про Poetry у меня был, https://youtu.be/KOC0Gbo_0HY, кто не в курсе что это — оч рекомендую!
Сейчас еще один материал готовлю по нему:)
#IT #python
poetry, что он не устанавливается, установщик это Python скрипт и он падает с SSL: CERTIFICATE_VERIFY_FAILED на домен pypi.org.Локализовав проблему, воспроизвёл её на минимальном коде:
import urllib.request
url = "https://pypi.org"
with urllib.request.urlopen(url) as f:
print(f.read(1))
… и падает SSL ошибка. То есть все HTTPS запросы не алё.
Погуглив, выяснилось, что Python на маке вообще, оказывается, с версии чуть ли не 3.6 не дружит с сертификатами и, чтобы всё было чётенько, после установки надо подшаманить. Я Python из исходников собираю по привычке, возможно, если ставить из pkg установщика, такой проблемы нет, не в курсе.
Итого, накатываем пакет
certifi на ваш используемый интерпретатор: python3.10 -m pip install certifi
И добавляем три переменные окружения, прописав их в
.bashrc или в .zshrc в зависимости от вашей оболочки: CERT_PATH=$(python3.10 -m certifi)
export SSL_CERT_FILE=${CERT_PATH}
export REQUESTS_CA_BUNDLE=${CERT_PATH}
и ура-ура!
Видос про Poetry у меня был, https://youtu.be/KOC0Gbo_0HY, кто не в курсе что это — оч рекомендую!
Сейчас еще один материал готовлю по нему:)
#IT #python
👍218❤62🔥14🥰3😁1
Поговорим об управлении зависимостями в Python-проектах и создании сервисов с Poetry!
https://youtu.be/SMYdy7dViiw
#IT #python #backend
https://youtu.be/SMYdy7dViiw
#IT #python #backend
👍109🔥7🎉5❤4😁4
Иногда у нас-человеков больше информации о типе, чем у статического проверятора типов в Python или TS. Проверятор говорит — вот тут у тебя несоответствие типов, ай-яй-яй, а ты-то знаешь, что всё чётенько.
Для этого придумано приведение типов, в TS реализуется чаще всего с
В TS реализовано бодрее, чем в Python — TS позволяет только понижать типы с более общего до более конкретного (например, с
Теперь TS будет знать, что в
А вот привести словарь к строке не позволит:
Скажет, что ты что-то не то делаешь, малый.
А в Python происходит просто заглушение проверятора типов, без какой-то проверки возможности приведения типа:
Проверятор типов это пропустит и оно весело грохнется уже в рантайме.
Впрочем, TS тоже можно обмануть — но это надо писать дополнительно:
Это тоже весело грохнется уже в рантайме.
#it #python #typescript
Для этого придумано приведение типов, в TS реализуется чаще всего с
as, в Python с from typing import cast.В TS реализовано бодрее, чем в Python — TS позволяет только понижать типы с более общего до более конкретного (например, с
HTMLElement до HTMLDivElement):const my_div = document.querySelector(".smth") as HTMLDivElement
Теперь TS будет знать, что в
my_div именно div, а не просто какой-то общий html элемент.А вот привести словарь к строке не позволит:
const structure = {name: "Иваныч"}
console.log((structure as string).toUpperCase())
Скажет, что ты что-то не то делаешь, малый.
А в Python происходит просто заглушение проверятора типов, без какой-то проверки возможности приведения типа:
from typing import cast
def upper(s: str):
return s.upper()
structure = {"name": "Иваныч"}
upper(cast(str, structure))
Проверятор типов это пропустит и оно весело грохнется уже в рантайме.
Впрочем, TS тоже можно обмануть — но это надо писать дополнительно:
const structure = {name: "Иваныч"}
console.log(((structure as unknown) as string).toUpperCase())
Это тоже весело грохнется уже в рантайме.
#it #python #typescript
👍117🔥8😁7❤1🥰1
https://youtu.be/haqLhNN5ZdY
Поговорим о возможностях аспектно-ориентированного программирования в Python, о внедрении зависимостей DI и DI-контейнерах в Python на примере punq, а также в целом о Java подходах vs Python подходах к реализации архитектуры.
Из разборов Ботаним!, 11 глава книги Чистый код, Роберт Мартин.
#youtube #IT #python #codebetter #tools #ботаним
Поговорим о возможностях аспектно-ориентированного программирования в Python, о внедрении зависимостей DI и DI-контейнерах в Python на примере punq, а также в целом о Java подходах vs Python подходах к реализации архитектуры.
Из разборов Ботаним!, 11 глава книги Чистый код, Роберт Мартин.
#youtube #IT #python #codebetter #tools #ботаним
YouTube
DI, DI-контейнеры, аспектно-ориентированное программирование в Python vs Java. Чистый код, 11 глава
Поговорим о возможностях аспектно-ориентированного программирования в Python, о внедрении зависимостей DI и DI-контейнерах в Python на примере punq, а также в целом о Java подходах vs Python подходах к реализации архитектуры.
Из разборов Ботаним! https:…
Из разборов Ботаним! https:…
👍69🔥12❤6
Зззнатокам Python хитрый вопрос!
Какой тип поставить у параметра
Код скопировать можно здесь.
Вот так это делается на TS
А как на Python, м:)?
#IT #python #typescript #codebetter
Какой тип поставить у параметра
field функции print_user_field, чтобы последняя строка при проверке типа показала ошибку? Перечислять второй раз поля User — нельзя, ибо делает возможным рассинхрон имён полей в классе и отдельном их перечислении.Код скопировать можно здесь.
Вот так это делается на TS
А как на Python, м:)?
#IT #python #typescript #codebetter
👍38🔥5😁4
Почему перечислять второй раз поля — плохо? Потому что возможна ситуация на скриншоте ⬆️ — поле
Почему вынести эту проверку на переданное значение
Систематических способа минимизировать ошибки в рантайме я знаю два, ТТ — как Тульский Токарев, только Типизация и Тесты.
Оба способа не гарантируют отсутствие ошибок, но позволяют вылавливать какое-то их количество на этапах до рантайма, то есть до пользователей. Чем лучше ТТ, тем меньше ошибок в рантайме.
Можно ли обойтись без типизации? Конечно, драматически увеличив количество тестов и проверок в коде, засорив код этими проверками.
Типизация помогает сократить количество тестов, потому что большой пласт ошибок выявляется на этапе проверки типов.
#python #it #codebetter
name в User переименовалось в username, а в типах параметра field осталось name. Система проверки типов не покажет ошибку при вызове print_user_name(user, "name"), а хотелось бы ошибку увидеть, так как поля name уже нет.Почему вынести эту проверку на переданное значение
field в блок try/except — плохо? Потому что это уведёт ошибку в runtime, а надо минимизировать ошибки в рантайме, ошибки в рантайме = грустящие пользователи.Систематических способа минимизировать ошибки в рантайме я знаю два, ТТ — как Тульский Токарев, только Типизация и Тесты.
Оба способа не гарантируют отсутствие ошибок, но позволяют вылавливать какое-то их количество на этапах до рантайма, то есть до пользователей. Чем лучше ТТ, тем меньше ошибок в рантайме.
Можно ли обойтись без типизации? Конечно, драматически увеличив количество тестов и проверок в коде, засорив код этими проверками.
Типизация помогает сократить количество тестов, потому что большой пласт ошибок выявляется на этапе проверки типов.
#python #it #codebetter
👍43🔥30❤2
Питонячие библиотеки и инструменты, о которых вы могли не знать
https://tryolabs.com/blog/2022/12/26/top-python-libraries-2022
По-нашенски: https://habr.com/ru/post/707916/
#python #it #tools
https://tryolabs.com/blog/2022/12/26/top-python-libraries-2022
По-нашенски: https://habr.com/ru/post/707916/
#python #it #tools
Tryolabs
Top Python libraries of 2022
There are so many amazing Python libraries and tools out every year that it's hard to keep track of them all. That's why we share with you our hand-picked selection of our best picks.
👍131🔥19❤8🎉1
Почему в Python реализована глобальная функция
https://www.youtube.com/watch?v=0-czTUWRReI
https://vk.com/video-176970991_456239186
https://dzen.ru/video/watch/63f9fbc41e751c186b7f6f11
#youtube #it #python
len() и что об этом говорит Гвидо ван Россум?https://www.youtube.com/watch?v=0-czTUWRReI
https://vk.com/video-176970991_456239186
https://dzen.ru/video/watch/63f9fbc41e751c186b7f6f11
#youtube #it #python
YouTube
Почему в Python реализована глобальная функция len() и что об этом говорит Гвидо ван Россум?
Почему в Python реализована глобальная функция len() и что об этом говорит Гвидо ван Россум?
Мой курс «Хардкорная веб-разработка» — https://course.to.digital
Книжный клуб:
https://xn--r1a.website/t0digital/528
https://botanim.to.digital/
https://botanim_to_digital_bot.t.me/…
Мой курс «Хардкорная веб-разработка» — https://course.to.digital
Книжный клуб:
https://xn--r1a.website/t0digital/528
https://botanim.to.digital/
https://botanim_to_digital_bot.t.me/…
👍97😁9🔥7❤2
Поговорим о декомпозиции типов в Python, а также о
⇨ YouTube | VK | RuTube | Дзен
#youtube #IT #Python
TypeAlias и NewType!⇨ YouTube | VK | RuTube | Дзен
#youtube #IT #Python
YouTube
Python: NewType против TypeAlias. Декомпозиция типов
Поговорим о декомпозиции типов в Python, а также о TypeAlias и NewType!
0:00 Об чём речь
1:12 Декомпозиция
2:25 typing.TypeAlias
4:08 Для чего TypeAlias?
5:36 typing.NewType
10:06 Использовать TypeAlias или NewType?
Мой курс «Хардкорная веб-разработка»…
0:00 Об чём речь
1:12 Декомпозиция
2:25 typing.TypeAlias
4:08 Для чего TypeAlias?
5:36 typing.NewType
10:06 Использовать TypeAlias или NewType?
Мой курс «Хардкорная веб-разработка»…
👍95🔥13❤8😁1
⚡️Инвариантность, ковариантность и контравариантность на примере Python
⇨ YouTube | VK | RuTube | Дзен
#youtube #IT #python
⇨ YouTube | VK | RuTube | Дзен
#youtube #IT #python
YouTube
Инвариантность, ковариантность и контравариантность на примере Python
Поговорим о насущном! Инвариантность, ковариантность и контравариантность на примере Python:)
0:00 Вариантность
3:01 Иерархия классов
5:06 Ковариантность
7:05 Инвариантность
10:32 Контравариантность
15:21 Резюме
Мой курс «Хардкорная веб-разработка» — h…
0:00 Вариантность
3:01 Иерархия классов
5:06 Ковариантность
7:05 Инвариантность
10:32 Контравариантность
15:21 Резюме
Мой курс «Хардкорная веб-разработка» — h…
👍82🔥21❤4😁2
А вы знали, что mypy тупо игнорит код функции, если её параметры или аргументы не типизированы?
А pyright не игнорит.
Живите дальше с этим:)
PS. Mypy можно заставить проверять такие функции параметром
#python #it #tools
А pyright не игнорит.
Живите дальше с этим:)
PS. Mypy можно заставить проверять такие функции параметром
--check-untyped-defs. А pyright делает всё красиво без дополнительных флагов.#python #it #tools
😁66👍50🔥11🎉3🥰2
Forwarded from Находки в опенсорсе
PythoNN: видео с апрельского митапа
4 апреля прошел очередной #python митап в Нижнем Новгороде.
Было очень душевно и интересно.
Случился аншлаг! Пришло много нижегородцев и приехало очень много людей: из Москвы, Питера, Кирова и других городов. Спасибо всем!
Было 4 крутых доклада:
- "Are you NATS?" – Гурбанов Михаил https://youtube.com/watch?v=atD3JVWurno
- "Почему исправление опечаток сложнее, чем кажется, и как мы с этим српавляемся" – https://youtube.com/watch?v=9HRBwwaMIfA
- "Современный web с современными темплейтами" – Алексей Гончарук https://youtube.com/watch?v=lN3Pz_hUCio
- "Демистификация PostgreSQL-индексов" – Алексей Голобурдин https://youtube.com/watch?v=6kVGSLdj28k
А потом мы сидели в баре до 5 утра.
Что улучшить?
- Первый раз записывал на StreamYard, сделал плохую композицию слайдов и видео докладчика, исправим в следующий раз. Прикрепил все слайды в описании докладов – чтобы была возможность все прочитать и скопировать код
- Поработаем над звуком, сейчас он немного прыгал
Хотите присоединиться?
- Если хотите сделать доклад, пишите мне в личку – лично учу новичков выступать и делать слайды, полная свобода в выборе темы
- Если хотите просто послушать – следите за анонсами в чате и подписывайтесь на мой канал с записями
У нас в Нижнем – просто офигенно, всех ждем в гости! 🌆
| Поддержать | YouTube | GitHub | Чат |
4 апреля прошел очередной #python митап в Нижнем Новгороде.
Было очень душевно и интересно.
Случился аншлаг! Пришло много нижегородцев и приехало очень много людей: из Москвы, Питера, Кирова и других городов. Спасибо всем!
Было 4 крутых доклада:
- "Are you NATS?" – Гурбанов Михаил https://youtube.com/watch?v=atD3JVWurno
- "Почему исправление опечаток сложнее, чем кажется, и как мы с этим српавляемся" – https://youtube.com/watch?v=9HRBwwaMIfA
- "Современный web с современными темплейтами" – Алексей Гончарук https://youtube.com/watch?v=lN3Pz_hUCio
- "Демистификация PostgreSQL-индексов" – Алексей Голобурдин https://youtube.com/watch?v=6kVGSLdj28k
А потом мы сидели в баре до 5 утра.
Что улучшить?
- Первый раз записывал на StreamYard, сделал плохую композицию слайдов и видео докладчика, исправим в следующий раз. Прикрепил все слайды в описании докладов – чтобы была возможность все прочитать и скопировать код
- Поработаем над звуком, сейчас он немного прыгал
Хотите присоединиться?
- Если хотите сделать доклад, пишите мне в личку – лично учу новичков выступать и делать слайды, полная свобода в выборе темы
- Если хотите просто послушать – следите за анонсами в чате и подписывайтесь на мой канал с записями
У нас в Нижнем – просто офигенно, всех ждем в гости! 🌆
| Поддержать | YouTube | GitHub | Чат |
🔥81👍25❤8😁6