Python Nation🐍🇺🇦
3.07K subscribers
237 photos
2 files
158 links
Канал для всіх, хто вивчає Python: поради, приклади коду, бібліотеки, лайфхаки та актуальні новин👨‍💻🐍

По всім питанням👉 @giorg_jr

❗️Канал регулярно очищується від неактивних підписників❗️
Download Telegram
Генерация случайных данных

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

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

Чтобы установить Faker мы используем pip :

pip3 install Faker

Затем мы можем очень легко начать генерировать случайные данные, создав экземпляр класса Faker.
Какой редактор или IDE вы используете?

📌Пишите свои ответы в комментариях👇

🐍Python Nation
Как работает Python?

Этап #1. Инициализация
После запуска вашей программы, Python-интерпретатор читает код, проверяет форматирование и синтаксис. При обнаружении ошибки он незамедлительно останавливается и показывает сообщение об ошибке.

Этап #2. Компиляция
Интерпретатор транслирует (переводит) исходные инструкции вашей программы в байт-код (низкоуровневое, платформонезависимое представление исходного текста). Такая трансляция необходима в первую очередь для повышения скорости — байт-код выполняется в разы быстрее, чем исходные инструкции.

Если Python-интерпретатор обладает правом записи, он будет сохранять байт-код в виде файла с расширением .pyc. Если исходный текст программы не изменился с момента последней компиляции, при следующем запуске вашей программы, Python сразу загрузит файл .pyc, минуя этап компиляции (тем самым ускорит процесс запуска программы).

Этап #3. Выполнение
Как только байт-код скомпилирован, он отправляется на виртуальную машину Python (PVM). Здесь выполняется байт-код на PVM.
Сравнение быстродействия обычной и lambda-функций в Python 3
👉Читать статью

#lambda @pythonnation
Скачиваем web-сайт целиком

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

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

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

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

Python Nation🐍
Превращаем текст в речь

На Python есть классная библиотека gTTS (Google Text-to-Speech), которая взаимодействует с Google Translate's text-to-speech API и позволяет делать из текста аудиофайлы. Пакет как всегда устанавливается через pip.

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

Сохранить полученный результат можно с помощью метода save, в который передаем название файла.

Python Nation🐍
Топ 3 книги по Python для начинающих на русском языке

👉Cмотреть книги
Как преобразовать напечатанный текст в рукописный текст с помощью Python?

Ответ простой! Используйте библиотеку pywhatkit для этой задачи.
Результат сохраняется на одном уровне с исполняемым скриптом в виде PNG изображения.

К сожалению с кириллицей не работает.

Перед запуском кода установите пакет
pywhatkit:
pip install pywhatkit
Почему Python медленно работает?

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

Тем не менее, всегда есть способы оптимизировать ваши приложения на Python с помощью асинхронности, инструментов профилирования и использования нескольких интерпретаторов. А для приложений, где время запуска неважно будет полезен JIT-компилятор, и соответственно интерпретатор PyPy. Для тех же частей вашего кода, где производительность критична и у вас при этом имеется много статически типизированных переменных, в качестве наиболее оптимального варианта может стать использование Cython.
Как можно догадаться по названию, функция filter() используется для перебора итерируемых объектов и последовательностей, таких как списки, кортежи и словари. Но перед ее использованием нужно также иметь подходящую функцию, которая бы проверяла каждый элемент на валидность. Если элемент подходит, он будет возвращаться в вывод.

#встроенные_функции #filter @pythonnation
Скачиваем web-сайт целиком

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

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

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

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

Python Nation🐍
Метод bin()

Данный метод преобразует и возвращает двоичное значение эквивалентное заданному целому числу. Если параметр не является целым числом, он должен реализовать метод __index__() для возврата целого числа.

В данном примере мы отправили объект класса Quantity в bin() метод. bin() метод не вызывает ошибку, даже если объект Quantity не является целым числом.

Это потому, что мы реализовали __index__() метод, который возвращает целое число (сумма количества фруктов). Затем это целое число передается bin() методу.

#встроенные_функции #bin @pythonnation
Reduce весьма полезная функция для выполнения вычислений на списке и возвращения единственного результата. Она сворачивает список, применяя полученную в качестве аргумента функцию по очереди к последовательным парам элементов.
Например, если мы хотим посчитать произведение всех элементов списка чисел. Пример на картинке👆

#reduce
11 проектов на Django для начинающих

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

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

👉Читать статью

Python Nation🐍
Скачиваем web-сайт целиком

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

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

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

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

Python Nation🐍
Выражения генераторы

Интересное расширение Python, обобщающее list comprehension, — выражения-генераторы.
Они работают совершенно аналогично list comprehension, только без создания в памяти собственно списка. Числа создаются по ходу дела, без сохранения их явным образом в списке.

Например, вместо вычисления квадратов первых 20 натуральных чисел с помощью list comprehension:

sum([x*x for x in range(20)])

можно воспользоваться выражением-генератором:

sum(x*x for x in range(20))

Использование данного способа ускоряет выполнение программы.
Мало кто заметил новый оператор в Python3.8

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

Также рассмотрим частые ошибки, которые допускают при использовании walrus operator.

👉Дока по данному оператору

Python Nation🐍
Метод bin()

Данный метод преобразует и возвращает двоичное значение эквивалентное заданному целому числу. Если параметр не является целым числом, он должен реализовать метод __index__() для возврата целого числа.

В данном примере мы отправили объект класса Quantity в bin() метод. bin() метод не вызывает ошибку, даже если объект Quantity не является целым числом.

Это потому, что мы реализовали __index__() метод, который возвращает целое число (сумма количества фруктов). Затем это целое число передается bin() методу.

#встроенные_функции #bin @pythonnation
Привет👋 На канале давно не было активности😢 Давайте посмотрим сколько нас и откуда мы🚀
Anonymous Poll
18%
Україна
58%
Россия
5%
Беларусь
5%
Казахстан
14%
Другая страна(напиши в комментариях)
Please open Telegram to view this post
VIEW IN TELEGRAM