python_practics
Open in Telegram
Python - обучающие материалы, полезные советы и статьи. Админ, сотрудничество, реклама: @seniorFrontPromo, @maria_seniorfront Купить рекламу: https://telega.in/c/python_practics
Show more5 159
Subscribers
No data24 hours
-47 days
-3430 days
Posts Archive
5 159
Пароль
При регистрации на сайтах требуется вводить пароль дважды. Это сделано для безопасности, поскольку такой подход уменьшает возможность неверного ввода пароля.
Напишите программу, которая сравнивает пароль и его подтверждение. Если они совпадают, то программа выводит: «Пароль принят», иначе: «Пароль не принят».
Подсказка:
Решение всего в 3 строки
Ответ 👇
#задачник
@python_practics
5 159
Управление тем, что может быть импортировано из модуля, а что — нет
В некоторых языках имеются предельно чёткие механизмы экспорта из модулей переменных, методов, интерфейсов. Например — в Golang экспортируются лишь сущности, имена которых начинаются с большой буквы. В Python же экспортируется всё. Но лишь до тех пор, пока не используется атрибут
__all__.
В вышеприведённом примере экспортирована будет лишь функция bar. А если оставить атрибут __all__ пустым, то из модуля не будет экспортироваться вообще ничего. При попытке импорта чего-либо из такого модуля будет выдана ошибка AttributeError.
#полезные_сниппеты
@python_practics5 159
Pandas 2.0: что нового?
Pandas 2.0 знаменует собой обновление популярной библиотеки анализа данных, предлагая новые функции:
• улучшенная производительность с помощью PyArrow,
• типы данных, допускающие значение NULL,
• оптимизация копирования при записи,
• расширенная поддержка числовых типов NumPy в индексах,
• не наносекундное разрешение даты и времени.
Благодаря этому обновлению pandas теперь может обрабатывать большие объемы данных с более эффективным использованием памяти, обеспечивая более рациональную работу для пользователей.
Чтобы воспользоваться этими новыми функциями, пользователи могут просто обновить свою библиотеку pandas с помощью команды
pip install -U pandas.
Полный текст статьи на английском языке
#статьи
@python_practics5 159
Создаем красивую анимацию на модуле turtle
t=turtle.Pen()
turtle.bgcolor('black')
for x in range(360):
t.pencolor(colors[x%6])
t.width(x/100+1)
t.forward(x)
t.left(59)
#sandbox
@python_practics5 159
Python vs NodeJS: сравнение для разработчиков
Сейчас технологии развиваются крайне стремительно. В связи с этим регулярно возникает необходимость выбора правильного набора инструментов для работы.
Производительность
С точки зрения производительности NodeJS превосходит Python, поскольку эта платформа основана на мощном движке Chrome V8. Это делает ее одним из самых быстрых серверных решений.
Масштабируемость
NodeJS, однозначно, является более гибкой. Это обусловлено наличием асинхронной архитектуры, позволяющей обрабатывать тысячи одновременных запросов, не блокируя ни один из них.
Синтаксические особенности и обработка ошибок
Если у вас прежде не было опыта работы с JavaScript, то лучше выбрать Python. Его изучить будет легче.
NodeJS vs. Python: что же выбрать?
Как можно заметить из всего вышесказанного, и Python, и NodeJS имеют свои сильные и слабые стороны. Они удовлетворяют разные нужды, поэтому, делая выбор, важно учитывать потребности и особенности конкретного проекта.
#статьи
5 159
Игра "Угадай число"
Компьютер выберет случайное число, а игроки должны будут по очереди угадывать число. При разработке используются: генератор случайных чисел, цикл while, условные конструкции if/else, переменные, целые числа и вывод на экран.
#sandbox
@python_practics
5 159
Внимание! - Вопрос!
Как сравниваются последовательности?
Две последовательности равны, если они имеют одинаковый тип, равную длину и соответствующие элементы обоих последовательностей равны.
Последовательности одинаковых типов можно сравнивать. Сравнения происходят в лексикографическом порядке: последовательность меньшей длины меньше, чем последовательность большей длины, если же их длины равны, то результат сравнения равен результату сравнения первых отличающихся элементов.
#вопросы_из_собеседований
@python_practics
5 159
CherryPy
Одна из изначальных целей основателя проекта Реми Делона — сделать CherryPy максимально соответствующим принципу «pythonic style». Это позволило разработчикам использовать этот фреймворк как обычный модуль Python и не думать об особенностях веб- программирования. Они могут создавать веб-приложения практически так же, как создают любую другую объектно-ориентированную программу на Python.
CherryPy может выступать в качестве самостоятельного веб-сервера или работать под управлением другого серверного приложения.
Ключевые особенности CherryPy:
• надёжный многопоточный веб-сервер, соответствующий стандарту HTTP/1.1.;
• возможность запускать различные HTTP-серверы (например, на нескольких портах) одновременно;
• встроенные инструменты работы с сессиями, кэшированием, аутентификацией, статическим контентом;
• мощная система конфигурирования;
• встроенная поддержка профилирования и тестирования;
• поддержка Python 2.7+, 3.5+, PyPy, Jython.
#фреймворки_библиотеки
5 159
Pragmatic Python Programming: Learning Python the Smart Way by Gabor Gut
Исследуйте мир языков программирования с помощью Python.
Эта книга охватывает Python 3.10, объясняя его с помощью шести ключевых концепций. Каждая глава содержит реальный пример с практическими советами и разделом, посвященным расширенным концепциям.
Книга в формате pdf👇
#курсы_книги
@python_practics
5 159
Внимание! - Вопрос!
Чем список отличается от кортежа?
Списки – это изменяемые последовательности, обычно используемые для хранения однотипных данных (хотя Python не запрещает хранить в них данные разных типов). Представлены классом list.
Кортежи – это неизменяемые последовательности, обычно используемые, чтобы хранить разнотипные данные. Представлены классом tuple.
#вопросы_из_собеседований
@python_practics
5 159
Самый простой способ реализации возможностей менеджера контекста в Python
Здесь протокол управления контекстом реализован с использованием декоратора
contextmanager. Первая часть функции tag (до yield ) выполняется при входе в блок with. Затем выполняется сам этот блок, а после этого выполняется оставшаяся часть функции tag.
#полезные_сниппеты
@python_practics5 159
Получение срезов итераторов
Если вы попытаетесь получить срез (
slice) итератора, то столкнётесь с ошибкой TypeError, сообщающей о том, что на объект-генератор нельзя оформить подписку. Однако эта проблема поддаётся решению.
Воспользовавшись методом itertools.islice можно создать объект islice, который представляет собой итератор, выдающий нужные элементы. Однако здесь важно отметить то, что эта конструкция использует все элементы генератора вплоть до начала среза и все элементы в объекте islice.
#полезные_сниппеты
@python_practics