Python community developers
1.38K subscribers
367 photos
45 videos
6 files
241 links
Сообщество программистов на языке Python🙂
🔥Разбор вопросов и задач с собеседований
🔥Обзор популярных библиотек и фишек языка
🔥Интересные идеи программ

Сотрудничество - @BorryaD

@Python_community_developers_bot
加入频道
Функции sleep() и time()

Чтобы понять смысл функции sleep(), разберём простой пример. Три строки выводятся в определённый промежуток времени – задержку обеспечивает sleep.

Сперва выводится первая строка, затем идёт функция sleep(), которая задерживает вывод на 2 секунды. Точно так же для следующего print мы используем sleep на 5 секунд.

Рассмотрим пример использования sleep() для создания промежутка времени. Мы используем функцию time(), чтобы узнать текущее время, и localtime(), чтобы получить текущие дату и время в конкретной местности. Кроме того, есть функция strftime() («string from time»), которая возвращает время в виде строки в указанном формате.

В результате интервал между двумя моментами времени составил две секунды.
Media is too big
VIEW IN TELEGRAM
⌨️😎 Что должен знать junior-разработчик Python в 2022?

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

youtu.be/-ASKK5lWclQ
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Что делать, если на рабочем компьютере нельзя даже в «Cапёра» поиграть? Написать своего!👨‍💻

Вот простая реализация на Python с исходниками и пояснениями: https://github.com/r-ook/pymsweeper 🗂

Конечно, не по канону, что лицо при удержании кнопки не меняется, но для начала тоже сойдёт.

#python #gamdev
Please open Telegram to view this post
VIEW IN TELEGRAM
Аннотации функций

Аннотация функций совершенно опциональная мета-информация о типах, используемых функциями, определяемых пользователем.

Аннотации хранятся в атрибуте функции __annotations__ как словарь и не оказывают влияния ни на какую часть функции. Аннотации параметров определяются двоеточием после имени параметра, за которым следует выражение эквивалентное значению аннотации. Возвращаемые аннотации определяется литеральным ->, за которым следует выражение между списком параметров и двоеточием, обозначающее завершение оператора def. В следующем примере есть позиционный аргумент, ключевой аргумент и аннотированное возвращаемое значение (ФОТО)
🗄Генератор списков(списковые включения)

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

Например, предположим, что мы хотим создать список квадратов чисел (Код 1)
Обратите внимание, что при этом создается (или перезаписывается) переменная с именем x, которая все еще существует после завершения цикла. Мы можем вычислить список квадратов без побочных эффектов (Код 2)
или, эквивалентным решением,
которое является более кратким и удобочитаемым (Код 3).
Please open Telegram to view this post
VIEW IN TELEGRAM
🗄Списковые включения. Часть2

Списковое включение состоит из скобок, содержащих следующее выражение с помощью предложения for, затем нуль или более условий for или if. Результатом будет новый список, полученный в результате вычисления выражения в контексте условий for и if, которые следуют за ним. Например, (Код 1) объединяет элементы двух списков, если они не являются равными.
И это эквивалентно (Код 2). Обратите внимание, как порядок операторов for и if один и тот же в обоих этих фрагментах.
Please open Telegram to view this post
VIEW IN TELEGRAM
Множества

Python также включает тип данных для множеств. Множество - это неупорядоченная коллекция без повторяющихся элементов. Основные виды использования включают тестирование членства и устранение двойных записей. Объекты Set также поддерживают математические операции например, объединение, пересечение, разность и симметрическая разность.

Для создания множеств могут быть использованы фигурные скобки или функция set(). Заметьте: для создания пустого множества нужно использовать set(), а не {}; в последнем случае создаётся пустой словарь — тип данных, который мы обсудим в следующем разделе.
Краткая демонстрация в Код 1 и Код 2

Аналогично списковым включениям, также поддерживаются генераторы множеств Код 3
Please open Telegram to view this post
VIEW IN TELEGRAM
Как восстановить данные с повреждённого жесткого диска? Возможно, вам сможет помочь Python

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

В данном случае автор предлагает проверить каждый файл на целостность и сохранить его на другом носителе, если диск подаёт признаки жизни. О том, как это сделать:

https://nuancesprog.ru/p/16135/

#python #советы
Извлечение данных из PDF с помощью Python
Существует много случаев, когда вам нужно извлечь данные из PDF и экспортировать их в другой формат при помощи Python. К сожалению, на сегодняшний день доступно не так уж много пакетов Python, которые выполняют извлечение лучшим образом. В данной статье мы рассмотрим различные пакеты, которые вы можете использовать для извлечения текста.
🌐 Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
Где вы будете использовать while вместо for?

Для простого повторяющегося цикла, либо тогда, когда не нужно перебирать список элементов, например записи базы данных и символы в строке.

#собеседование
Скачиваем web-сайт целиком

pywebcopy поможет вам клонировать отдельные веб-страницы или даже целые сайты.
Перед использованием установите пакет:
pip install pywebcopy

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

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

Но здесь надо быть аккуратнее, подобная рекурсивная загрузка отправит много запросов к серверу и может сильно нагрузить его, если на сайте много страниц.
🐥 Задача по Python #5

В этой задаче нам нужно преобразовать строку в целое число. Строки просто представляют числа словами.

Уровень сложности: средний.

Примеры:

"один" => 1
"двадцать" => 20
"двести сорок шесть" => 246
"семьсот восемьдесят три тысячи девятьсот девятнадцать" => 783919


Примечания:

Минимальное количество "ноль" (включительно)

Максимальное количество, которое должно поддерживаться, составляет 1 миллион (включительно)

"И" в например "сто двадцать и четыре" не обязательно, в одних случаях присутствует, а в других нет

Все проверенные номера действительны, вам не нужно их проверять

Свой вариант решения в комментарии 💭
Кодом делиться через
pastebin.org или repl.it.

#задачи