Pythoner
7.22K subscribers
862 photos
28 videos
4 files
657 links
Полезные материалы по Python, которые будут интересны опытному и начинающему разработчику.

Сотрудничество - @flattys
Цены - @serpent_media

Канал на бирже: https://telega.in/c/pythonercode
Download Telegram
⬆️Этот метод прост в использовании, а также хорош, и вы можете использовать его на соревнованиях, но люди обычно не предпочитают использовать его в интервью.

Таким образом палиндромы становятся простейшей программой в Python.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍124🔥3
🔓Шифрование позволяет защитить конфиденциальные данные, такие как пароли, от несанкционированного доступа.

➡️Использование модуля hashlib

Один из способов шифрования данных в Python - использование модуля hashlib. Модуль hashlib предоставляет ряд алгоритмов хеширования, таких как SHA-256 и MD5. Хеширование - это процесс преобразования исходных данных в фиксированную длину числового значения, известного как хеш. Хеширование полезно для сохранения паролей и другой информации в безопасной форме, поскольку хеш невозможно обратно преобразовать в оригинальные данные. Вот пример кода, демонстрирующий использование модуля hashlib для шифрования пароля:

import hashlib

password = "mysecretpassword"
hashed_password = hashlib.sha256(password.encode()).hexdigest()

print("Шифрованный пароль:", hashed_password)

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍73🔥1
Шпаргалка по методам Numpy

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥124👍4
➡️Что такое Flask WTForms?

Flask WTForms - это расширение для Flask, которое интегрирует популярную библиотеку WTForms в приложения Flask. WTForms - это гибкая библиотека валидации и отображения форм для разработки веб-приложений на языке Python. Она предоставляет простой и интуитивно понятный способ создания HTML-форм и валидации пользовательского ввода. Используя Flask WTForms, вы можете легко определить свои формы в виде классов Python и отображать их в ваших шаблонах Flask.

➡️Как использовать Flask WTForms

Чтобы начать использовать Flask WTForms в вашем приложении Flask, вам сначала необходимо установить его с помощью pip. Вы можете сделать это, запустив следующую команду:

pip install Flask-WTF


После установки Flask WTForms вам нужно импортировать его в ваше приложение Flask. В вашем файле Python добавьте следующую строку:

from flask_wtf import FlaskForm

Теперь вы можете определить свои формы как подклассы FlaskForm. Каждый класс формы будет представлять определенную форму в вашем приложении. Вы можете определить поля в вашей форме, используя различные классы полей, предоставленные Flask WTForms, такие как StringField, IntegerField, BooleanField и другие.

После определения формы вы можете отобразить ее в вашем шаблоне Flask, используя объект form.

➡️Чтобы обрабатывать отправку формы, вам необходимо определить маршрут в вашем приложении Flask, который будет обрабатывать POST-запросы. В этом маршруте вы можете использовать объект request для доступа к данным формы и валидировать их с помощью функции form.validate_on_submit(). Если данные формы являются допустимыми, вы можете их обработать и выполнить необходимые действия.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍64🔥1
➡️pywebcopy поможет вам клонировать отдельные веб-страницы или даже целые сайты.

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

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

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

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82🔥1
😁12🤣8👍32
➡️Отличие статических методов от обычных в том, что они привязаны к классу, а не объекту. То есть они могут быть вызваны напрямую у класса.

Статический метод не принимает ни объект (self), ни класс (cls) в аргументах. То есть такие методы не могут модифицировать ни объект, ни сам класс.

➡️Реализовать статический метод можно двумя способами. Один из них — присвоить классу новый метод, напрямую передав изначальный метод в функцию staticmethod.

Но так делать не принято, поэтому чаще всего staticmethod используют в качестве декоратора при написании методов прямо в классе.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62🔥1
➡️Python поддерживает простой механизм работы с перечислениями, которые ещё называют enum. Подобные перечисления удобно использовать для хранения списков констант.

Из документации можно узнать о том, что Enum — это набор символических имён, привязанных к уникальным, неизменным значениям. Члены одного перечисления можно сравнивать на идентичность.

➡️Также можно задать геттер через @ property, который используют для получения перечислений в других форматах. В примере реализовано перечисление цветов в RGB, а через геттер их можно получить в формате hex.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥42
🔎Сокеты являются одним из основных понятий в компьютерных сетях. Они представляют собой программный интерфейс, который позволяет приложениям обмениваться данными через сеть.

➡️Сокеты - это точка соединения между двумя программами, которые обмениваются данными через сеть. Один сокет может отправлять данные, а другой может принимать их. Сокеты работают на разных уровнях сетевой модели, таких как уровень транспорта (например, TCP или UDP) и уровень сети (например, IPv4 или IPv6).

➡️Работа с сокетами

Для работы с сокетами в приложении необходимо выполнить несколько шагов. Во-первых, нужно создать сокет, указав его тип (например, TCP или UDP) и семейство адресов (например, IPv4 или IPv6). Затем необходимо привязать сокет к определенному порту или адресу. После этого можно начать передачу данных через сокет, используя методы отправки и приема данных.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥32
➡️На основе итерируемых объектов можно удобно и без циклов строить списки в одну строчку — такой синтаксис называется списковыми включениями.

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

➡️В квадратных скобках вы пишите самую обычную конструкцию цикла for, но само выражение ставите перед ключевым словом for. Также можно добавлять условия в конце записи.

➡️Как правило, списковые включения работают заметно быстрее, чем циклы. Однако, злоупотреблять этим не рекомендуется, так как это зачастую снижает читаемость кода.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83🔥1
➡️Оператор in в Python используется для проверки вхождения элемента в последовательность. Эта последовательность может быть строкой, списком, кортежем или даже словарем. Синтаксис оператора in выглядит следующим образом: элемент in последовательность. Оператор in возвращает логическое значение True, если элемент присутствует в последовательности, и False, если элемент отсутствует.

➡️Например, давайте рассмотрим следующий пример:

fruits = ['apple', 'banana', 'orange']
if 'apple' in fruits:
print("Я люблю яблоки!")

⬆️В этом примере мы создали список фруктов и проверяем, присутствует ли в нем элемент 'apple'. Если элемент 'apple' присутствует, то выводится сообщение "Я люблю яблоки!".

text = "Python is a powerful programming language"
if "Python" in text:
print("Python найден!")


⬆️В этом примере мы проверяем, содержит ли строка "Python is a powerful programming language" подстроку "Python". Если подстрока "Python" присутствует, то выводится сообщение "Python найден!".

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍103🔥2
➡️Werkzeug предлагает множество полезных функций для разработки веб-приложений. Одной из главных особенностей этой библиотеки является ее простота использования. Werkzeug предоставляет простой API для обработки HTTP-запросов и ответов, а также для работы с URL-адресами. Она также поддерживает различные протоколы, такие как WSGI (Web Server Gateway Interface), что делает ее идеальным выбором для создания веб-приложений в Python.

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

➡️Преимущества:

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

Еще одним преимуществом Werkzeug является его интеграция с популярными фреймворками веб-разработки, такими как Flask и Django.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
➡️Функция ord() возвращает целое число, представляющее символ Юникода. Эта функция принимает строку единичной длины в качестве аргумента и возвращает эквивалентность переданного аргумента в Юникоде.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71🔥1
➡️У списка (и только у него) есть особые методы .sort() и .reverse() которые делают тоже самое, что соответствующие функции sorted() и reversed(), но при этом:

💬Меняют сам исходный список, а не генерируют новый.

💬Возвращают None, а не новый список.

💬Поддерживают те же дополнительные аргументы.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62🔥1
➡️Допустим данные нужно отсортировать сначала по столбцу А по возрастанию, затем по столбцу B по убыванию, и наконец по столбцу C снова по возрастанию.

➡️Если данные в столбце B числовые, то при помощи подходящей функции в key можно поменять знак у элементов B, что приведёт к необходимому результату.
А если все данные текстовые? Тут есть такая возможность.
Дело в том, что сортировка sort в Python устойчивая (начиная с Python 2.2), то есть она не меняет порядок «одинаковых» элементов.

Поэтому можно просто отсортировать три раза по разным ключам.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍72🔥2
➡️Чтобы избавится от «магических констант», особенно в случае, когда один и тот же срез надо применять многократно, можно задать константы с именованными срезами с пользованием специальной функции slice()()

Примечание: Nonе соответствует опущенному значению по-умолчанию. То есть [:2] становится slice(None, 2), а [1::2] становится slice(1, None, 2).

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82🔥1
➡️В python есть классный модуль itertools для создания собственных итераторов. Функции данного модуля довольно эффективны в работе, поэтому их часто используют в реальных проектах.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83🔥3
➡️Со встроенным модулем shutil многие уже, вероятно, знакомы, но его обычно используют в контексте задач копирования, переноса файлов и папок.

🔎Но с помощью shutil мы можем даже получить информацию о памяти на жестком диске компьютера. Метод disk_usage возвращает количество всей, занятой и свободной памяти.

Пример выведет:
Total : 245.11 GB
Used : 128.38 GB
Free : 99.04 GB


⬆️Так как все три значения возвращаются в байтах, в примере мы их перевели и вывели в гигабайты для лучшей наглядности.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥43
✈️WebApp (или веб-приложение) в Telegram — это приложение, которое запускается прямо внутри мессенджера. Это делает его доступным в любое время и в любом месте, где у вас есть доступ к Telegram.

🔎Преимущества WebApp в Telegram:

➡️Удобство и доступность

WebApp работает прямо в Telegram, поэтому вам не нужно устанавливать дополнительные приложения.

➡️Мгновенное обновление

Веб-приложения всегда обновлены до последней версии. Вам не нужно беспокоиться об установке обновлений — разработчики делают это за вас!

➡️Кроссплатформенность

WebApp работает одинаково хорошо на всех устройствах: будь то iOS, Android или десктопная версия Telegram. Это значит, что вы получите единый опыт использования независимо от вашего устройства.

➡️Богатый функционал

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

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82🔥2🤔2