Zen of Python
20.1K subscribers
1.2K photos
161 videos
32 files
3.15K links
Полный Дзен Пайтона в одном канале

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/xZOL
Download Telegram
Шпаргалка Python.pdf
1.7 MB
Шпаргалка по Python для начинающих

Тут собрано более 20 страниц со шпаргалками, которые пригодятся каждому начинающему Python-разработчику и не только. 

Скачивайте и сохраняйте пост в избранном

#шпаргалка
🔥73👎2👍1
Что выведет следующий код?

#викторина
👍4
🔥15👎3❤‍🔥1
10 итераторов, о которых вы могли не знать

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

Наверняка вы знаете несколько способов итерации в Python, но в этой статье представлены интересные и малоизвестные примеры:

https://habr.com/ru/post/697390/
👍6🔥3
В Python слишком много менеджеров пакетов?

В отличие от JavaScript, C#, Dart или Rust, где есть стандартизированные менеджеры пакетов типа npm, NuGet, pub или Cargo, Python стандарты обошли стороной. У него есть целый ворох менеджеров, например, pip, venv, conda и др.

Хорошо это или плохо? Автор этой статьи попробовал разобраться в этом вопрос, попутно разобрав популярные менеджеры для Python:

https://dublog.net/blog/so-many-python-package-managers/

А вы за обилие вариантов или мечтаете о стандартизации?
👍4
Как писать чистый код на Python. Советы разработчикам

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

В этой статье вы узнаете, что такое PEP8, poetry, как создавать архитектуру python-приложения, какие существуют методологии Driven Development и как писать чистый код на Python.

#советы #чистыйкод
31👍1
Да, было
🔥111👍1🥱1
Что произойдет, если попытаться выполнить следующий код для изменения элемента в кортеже?

Варианты ответа ниже.

#викторина
❤‍🔥4
Что произойдет, если попытаться выполнить код выше для изменения элемента в кортеже?
Anonymous Quiz
9%
Кортеж будет изменен и выведет: (1, 5, 3, 4)
7%
Будет выведено: (1, 2, 3, 4)
78%
Возникнет ошибка TypeError
6%
Будет выведено: [1, 5, 3, 4]
9
Асинхронность, многопоточность и многопроцессность в python

Хоть Python пока и не стал по-настоющему многопоточным, как нам обещают в Python 3.13, кое-что он всё же может.

С помощью этого видео вы сможете разобраться в том:

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

https://youtu.be/_4QY1nGFRY8

#видео #многопоточность
5🔥1
Самый_популярный_вопрос_на_собеседованию_PYTHON_разрабочтика_#python.webm
398.6 KB
Кто знает почему так?
Загадка для внимательных. Пишите ответ в комментарии
🗿1
Screen Recording 2024-08-13 at 17.30.55.mov
37.5 MB
Веб-приложения теперь можно делать на чистом Python, не хуже, чем на JavaScript

Соучредитель fast.ai Джереми Ховард выпустил FastHTML. Эта технология позволяет писать на Python полноценные веб-приложения.

Уже сейчас здесь есть и компоненты, и адаптивность. Вы можете подключать сюда как JS, так и Python модули, если требуется.

Более подробно о проекте можно узнать на сайте, который, кстати, сделан как раз с помощью FastHTML: https://fastht.ml/

#библиотека #веб
11👍5👎2
Шпаргалка по REST API.pdf
435.4 KB
Трёхстраничная шпаргалка по REST API, с помощью которой вы узнаете:

— как называются части URL в контексте запроса;
— зачем нужны те или иные заголовки запросов (например, Accept-Charset / User-Agent);
— чем отличается код 300 от 500

#api #шпаргалка
Взламываем игры с помощью Python

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

Сегодня вы можете сделать то же самое, но без ArtMoney, если умеете программировать на Python. Автор этой статьи так и сделал, теперь делиться результатом работы:

https://habr.com/ru/articles/835212/

А какую бы игру взломали вы и зачем?
👍112👾1
Разбираемся в бинарном поиске на Python

Binary Search, или бинарный поиск — это эффективный способ найти элемент в отсортированном массиве. Принцип работы основан на делении массива пополам. Алгоритм постоянно уменьшает область поиска, пока не найдёт целевой элемент или не убедится, что его в массиве нет.

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

Рассмотрим пример итеративного бинарного поиска на Python:

def binary_search(arr, target):
low, high = 0, len(arr) - 1

while low <= high:
mid = (low + high) // 2
guess = arr[mid]

if guess == target:
return mid
elif guess > target:
high = mid - 1
else:
low = mid + 1

return -1

# Пример использования
arr = [1, 3, 5, 7, 9, 11, 13, 15]
target = 9
result = binary_search(arr, target)
print(f"Элемент найден на индексе: {result}" if result != -1 else "Элемент не найден")


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

def binary_search_recursive(arr, target, low, high):
if low > high:
return -1

mid = (low + high) // 2
guess = arr[mid]

if guess == target:
return mid
elif guess > target:
return binary_search_recursive(arr, target, low, mid - 1)
else:
return binary_search_recursive(arr, target, mid + 1, high)

# Пример использования
arr = [1, 3, 5, 7, 9, 11, 13, 15]
target = 9
result = binary_search_recursive(arr, target, 0, len(arr) - 1)
print(f"Элемент найден на индексе: {result}" if result != -1 else "Элемент не найден")


Также можно использовать встроенную библиотеку bisect для выполнения бинарного поиска:

import bisect

def binary_search_bisect(arr, x):
i = bisect.bisect_left(arr, x)
if i != len(arr) and arr[i] == x:
return i
else:
return -1

# Пример использования
arr = [2, 3, 4, 10, 40]
x = 10
result = binary_search_bisect(arr, x)
print(f"Элемент найден на индексе: {result}" if result != -1 else "Элемент не найден")


Важно помнить, что бинарный поиск работает только с отсортированными массивами. В этом его главный плюс и ограничение. Зато временная сложность у него составляет всего O(log n), что значительно быстрее линейного поиска. Это делает бинарный поиск отличным выбором для работы с большими данными.

#советы #алгоритмы
👍11❤‍🔥1
​​Пишем простой калькулятор на Python

Внутри гайд — комментарии, инструкции и полезные советы.

@zen_of_python
Без лишних слов: большой курс по Python для начинающих

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

Cмотреть курс

#видео #курс
Автоматическая суммаризация текста на Python

Если вы хотите быстро и без труда суммаризировать текст, то воспользуйтесь библиотекой Sumy. Библиотека позволяет извлекать текст из HTML-страниц или обычных текстов, резюмировать его и делать простую оценку текста. 

Команда для установки: pip install sumy
Документация: pypi.org/project/sumy/

#библиотека
🔥6👍2
Что выведет код на изображении?

Варианты ответа ниже.

#викторина
1