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

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

Канал на бирже: https://telega.in/c/pythonercode
Download Telegram
➡️Функция round()

Один из самых простых способов округления числа в Python - использовать встроенную функцию round(). Функция round() округляет число до ближайшего целого значения. Например, если у нас есть число 3.7, функция round() округлит его до 4, а если у нас есть число 3.4, оно будет округлено до 3. Важно отметить, что если дробная часть числа равна 0.5, функция round() округлит число в сторону ближайшего четного значения. Например, число 2.5 будет округлено до 2, а число 3.5 будет округлено до 4.

num1 = 3.7
num2 = 3.4

rounded_num1 = round(num1)
rounded_num2 = round(num2)

print(rounded_num1) # Output: 4
print(rounded_num2) # Output: 3


➡️Методы floor() и ceil()

Кроме функции round(), в Python также доступны методы floor() и ceil(). Метод floor() округляет число до наибольшего целого значения, которое меньше или равно данному числу. Например, если у нас есть число 4.8, метод floor() округлит его до 4. С другой стороны, метод ceil() округляет число до наименьшего целого значения, которое больше или равно данному числу. Например, если у нас есть число 2.2, метод ceil() округлит его до 3.

import math

num = 4.8

floored_num = math.floor(num)
ceiled_num = math.ceil(num)

print(floored_num) # Output: 4
print(ceiled_num) # Output: 5


➡️Модуль math

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

import math

num = 3.7

floored_num = math.floor(num)
ceiled_num = math.ceil(num)

print(floored_num) # Output: 3
print(ceiled_num) # Output: 4


🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍219🔥2
➡️Boto3 помогает разработчикам упростить работу с AWS. Она предоставляет простой и понятный способ взаимодействия с различными сервисами AWS, такими как создание и настройка виртуальных серверов, управление файловым хранилищем, отправка сообщений и многое другое. Это позволяет автоматизировать различные задачи и сделать работу с AWS более эффективной.

➡️Botocore представляет собой набор инструментов и клиентских библиотек для работы с Amazon Web Services (AWS). Она обеспечивает низкоуровневый доступ к различным сервисам AWS, таким как Amazon S3, Amazon EC2 и многим другим. Botocore позволяет разработчикам создавать, управлять и автоматизировать ресурсы в облаке AWS с помощью простого и интуитивно понятного API.

⬆️Библиотека botocore также является ключевым компонентом PyPI - крупнейшего репозитория пакетов Python. PyPI предоставляет доступ к миллионам пакетов, которые можно установить и использовать в своих проектах. Botocore позволяет разработчикам использовать пакеты, связанные с AWS, и управлять ими с помощью простого и удобного интерфейса.

🔎Документации:
https://aws.amazon.com/ru/sdk-for-python/
https://pypi.org/project/boto3/
https://pypi.org/project/botocore/

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥64👍2
🔥21🤣10😢4👍32
➡️Разбор темы 1: Определение DDoS-атаки

DDoS-атака (Distributed Denial of Service) - это атака, направленная на перегрузку ресурсов сервера или сети путем отправки большого количества запросов с целью обрушить его работу. Возникает вопрос, можно ли провести подобную атаку с помощью Python. Ответ - да, это технически возможно. Однако, важно отметить, что DDoS-атака является противозаконной и незаконным использование таких методов может повлечь за собой серьезные юридические последствия.

➡️Разбор темы 2: Python и нагрузочное тестирование

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

➡️Разбор темы 3: Защита от DDoS-атак

У веб-сайтов существуют механизмы защиты от DDoS-атак, которые позволяют обнаруживать и отражать подобные попытки. Это может быть использование специальных сервисов, фильтрация трафика или анализ поведения пользователей. Поэтому, даже если вы попытаетесь "положить" сайт с помощью Python, шансы на успех будут невелики.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74🔥4
➡️Использование оператора %s для форматирования строк

Оператор %s используется для вставки значения переменной в строку. Для этого нужно указать %s внутри строки и затем после строки поставить знак %, за которым следует переменная, значения которой нужно вставить.

Пример:

name = "John"
age = 25
print("Меня зовут %s и мне %s лет." % (name, age))

Вывод:

Меня зовут John и мне 25 лет.

⬆️В этом примере мы использовали оператор %s для вставки значений переменных name и age в строку. Мы передали эти значения в виде кортежа (name, age) после знака %.

➡️Форматирование чисел с помощью оператора %s

Оператор %s также может использоваться для форматирования чисел. Для этого нужно указать %s внутри строки и затем после строки поставить знак %, за которым следует число, значение которого нужно вставить.

Пример:

number = 42
print("Ответ на главный вопрос жизни: %s" % number)

Вывод:

Ответ на главный вопрос жизни: 42

⬆️В этом примере мы использовали оператор %s для вставки значения переменной number в строку.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1053🔥2
Функция index в Python используется для нахождения индекса первого вхождения определенного элемента в последовательности.

➡️Работа функции index

Функция index принимает в качестве аргумента элемент, который мы хотим найти, и возвращает индекс первого вхождения этого элемента в списке. Если элемент не найден, функция вызывает исключение ValueError. Например, если у нас есть список чисел [1, 2, 3, 4, 5] и мы хотим найти индекс числа 3, мы можем использовать функцию index следующим образом:

numbers = [1, 2, 3, 4, 5]
index = numbers.index(3)
print(index)


⬆️В этом примере функция index вернет значение 2, так как число 3 находится на позиции с индексом 2 в списке.

➡️Обработка исключений

Когда мы используем функцию index, мы должны быть осторожны, потому что если элемент не найден в списке, это вызовет исключение ValueError. Чтобы избежать ошибок, мы можем использовать конструкцию try-except для обработки исключений. Например:

numbers = [1, 2, 3, 4, 5]
try:
index = numbers.index(6)
print(index)
except ValueError:
print("Элемент не найден в списке.")


⬆️В этом примере, если элемент 6 не найден в списке numbers, функция index вызовет исключение ValueError, и вместо того, чтобы прервать выполнение программы, мы перехватываем исключение и выводим сообщение "Элемент не найден в списке."

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥42
➡️Использование метода .count()

Метод .count() в Python используется для подсчета количества вхождений определенного элемента в строке, списке или кортеже. Синтаксис метода выглядит следующим образом:

<obj>.count(<value>)


⬆️где <obj> - объект, в котором мы ищем, а <value> - значение, которое мы хотим посчитать.

➡️Примеры использования метода .count()

Давайте рассмотрим несколько примеров использования метода .count().

➡️Подсчет количества символов в строке:

s = "Hello, World!"
count = s.count("o")
print(count) # Output: 2


➡️Подсчет количества элементов в списке:

numbers = [1, 2, 3, 4, 2, 1, 2]
count = numbers.count(2)
print(count) # Output: 3


🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍832🔥2
➡️PDF-файлы являются одним из наиболее удобных форматов для обмена документами. В Python существует несколько библиотек, позволяющих создавать и редактировать PDF-файлы. Одна из самых популярных библиотек для этой цели - PyPDF2.🛠 Чтобы начать работу с PyPDF2, необходимо установить эту библиотеку с помощью pip:
pip install PyPDF2


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

➡️Теперь, давайте создадим простой PDF-файл с текстом "Пример создания PDF в Python":
import PyPDF2

# Создание объекта PDF
pdf = PyPDF2.PdfFileWriter()

# Создание страницы и добавление текста
page = pdf.addPage()
page.mergePage(page)

text = "Пример создания PDF в Python"

# Добавление текста на страницу
page.drawText(100, 500, text)

# Сохранение PDF в файл
with open("example.pdf", "wb") as f:
pdf.write(f)

print("PDF файл успешно создан!")

⬆️Это простой пример создания PDF-файла с помощью Python и библиотеки PyPDF2. Однако, существует множество других библиотек, таких как reportlab или FPDF, предоставляющих более широкие возможности для создания и редактирования PDF-документов в Python.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍134🔥41
➡️"Чистая" функция - это функция, которая при выполнении одного и того же входного значения всегда возвращает одинаковый результат и не имеет побочных эффектов. То есть, она не влияет на состояние программы или внешние переменные. Результат работы "чистой" функции зависит только от переданных ей аргументов.

➡️Пример чистой функции

Давайте рассмотрим пример простой чистой функции на языке Python. Предположим, у нас есть функция double, которая удваивает переданное число:

def double(number):
return number * 2


⬆️Эта функция является "чистой", потому что она всегда возвращает удвоенное значение переданного числа и не имеет побочных эффектов. Независимо от контекста выполнения и внешних переменных, результат работы этой функции будет одинаковым при одинаковом входном значении.

➡️Пример нечистой функции

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

my_list = []

def add_to_list(value):
my_list.append(value)


⬆️Эта функция не является "чистой", потому что она изменяет состояние программы путем добавления значения в глобальный список my_list. Результат работы этой функции зависит не только от переданного аргумента, но и от текущего состояния списка my_list.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍95🔥4
🔎Многие сталкиваются с проблемой, что кол очень долго выполняется, то бишь не оптимизирован. Сейчас мы это исправим.

➡️Для примера возьмём функцию вычисления последовательности Фибоначчи:
def fibonacci(n): 
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)

for i in range(50):
print(i, fibonacci(i))


⬆️Если сейчас мы запустим код, то он будет выполняться ну очень долго.

➡️Теперь давайте изучим код. Если подумать, то понятно что у нас много раз просчитывается одни и те же значения. Так давайте будем сохранять то что уже посчитали! Для этого можно использовать декоратор lru_cache из встроенного модуля functools:
from functools import lru_cache


@lru_cache
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)

for i in range(50):
print(i, fibonacci(i))


⬆️Так, данный код будет выполняться в рааазы быстрее.
Подробнее про этот декоратор можно почитать здесь.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍65🔥3
😁22🤣7🔥53👍3
🔎Иногда, при разработке программного обеспечения на Python, мы можем столкнуться с ситуациями, когда необходимо явно указать на наличие ошибки.

➡️Когда мы пишем программы, мы стараемся их делать максимально надежными и безопасными. Однако, иногда может возникнуть ситуация, когда мы хотим явно указать на наличие проблемы. Например, если в функции передаются некорректные аргументы или программа не может продолжить выполнение из-за некорректного состояния. В таких случаях мы можем создать исключение с помощью оператора raise, чтобы прервать нормальное выполнение программы и показать, что что-то пошло не так.

➡️Использование оператора raise

Оператор raise в Python позволяет нам создавать исключения вручную. Мы можем указать тип исключения и дополнительное сообщение, которое будет содержаться в исключении. Например, мы можем создать исключение типа ValueError, если функция получила некорректное значение аргумента. Мы также можем наследовать собственные классы исключений от встроенных классов, чтобы создать более специфичные исключения для наших нужд.

➡️Вот пример использования оператора raise:

def divide_numbers(a, b):
if b == 0:
raise ValueError("Делитель не может быть нулем")
return a / b

try:
result = divide_numbers(10, 0)
print("Результат:", result)
except ValueError as e:
print("Ошибка:", str(e))


⬆️В этом примере мы определяем функцию divide_numbers, которая делит одно число на другое. Если второе число равно нулю, мы вызываем исключение ValueError с сообщением "Делитель не может быть нулем". Затем мы обрабатываем это исключение с помощью блока try-except, чтобы поймать и обработать ошибку.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍135🔥2
➡️PyWebCopy - это инструмент на языке Python, который позволяет скачивать целые веб-сайты и их содержимое для локального использования.

🔎Основные возможности pywebcopy

PyWebCopy обладает несколькими основными функциями, которые делают его полезным инструментом для скачивания веб-сайтов:

1. Полное скачивание сайта: С помощью pywebcopy вы можете скачать целый веб-сайт, включая все его страницы, изображения, стили CSS и другие ресурсы. Это особенно полезно, когда требуется сохранить копию веб-сайта или работать с ним офлайн.

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

3. Поддержка фильтров: Вы можете настроить pywebcopy так, чтобы он скачивал только определенные типы файлов или игнорировал некоторые страницы. Это полезно, если вы хотите ограничить размер скачанного веб-сайта или избежать скачивания ненужной информации.

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

Для использования pywebcopy вам потребуется установить его с помощью pip. После установки вы можете импортировать его в свой код Python и использовать.

Давайте рассмотрим простой пример использования pywebcopy для скачивания веб-сайта. Предположим, что у нас есть веб-сайт с URL-адресом "[https://www.example.com](https://www.example.com/)" и мы хотим скачать его для дальнейшего использования офлайн.

from pywebcopy import save_webpage

url = '<https://www.example.com>'
project_folder = 'example_website'

save_webpage(url, project_folder)


⬆️В этом примере мы использовали метод save_webpage из pywebcopy для скачивания веб-сайта по указанному URL и сохранения его в папке проекта "example_website". После выполнения этого кода, мы получим локальную копию веб-сайта, включая все его страницы и ресурсы.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍84🔥1
➡️Добавление цвета к текстовому выводу

Черно-белый текст в терминале может быть однообразным и трудным для чтения. Colorama предоставляет набор заранее определенных последовательностей ANSI-escape, которые можно использовать для изменения цвета переднего и заднего плана, а также применения стилей текста, таких как жирный, подчеркнутый и курсивный. Вот пример использования Colorama для вывода красного текста:

from colorama import Fore

print(Fore.RED + "Это красный текст" + Fore.RESET)


➡️Совместимость с различными терминалами

Colorama совместим с различными типами терминалов и операционными системами. Он автоматически определяет, поддерживает ли терминал ANSI-escape последовательности или нет, и включает изменение цвета и стиля соответственно. Это гарантирует правильное отображение цветного текста независимо от используемого терминала.

➡️Упрощение настройки вывода

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

from colorama import Fore, Back, Style

print(Fore.BLUE + "Синий текст на белом фоне" + Style.RESET_ALL)
print(Back.GREEN + "Зеленый фон" + Back.RESET)
print(Style.BRIGHT + "Яркий текст" + Style.RESET_ALL)


🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍75🔥2
➡️Библиотека Transliterate обеспечивает простой перевод текста между кириллицей и латиницей в Python. Установка производится командой pip install transliterate.

from transliterate import translit

text = "Привет, мир!"
transliterated_text = translit(text, 'ru', reversed=True)
print(transliterated_text)


➡️Это удобное средство при работе с многоязычными данными.
➡️Документация содержит дополнительные сведения и примеры использования.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍84🔥3
📦Установка пакета

Одной из первых команд, которую вы можете использовать с pip, является команда install. Она позволяет установить пакет или несколько пакетов из Python Package Index (PyPI). Например, чтобы установить пакет requests, вы можете использовать следующую команду:

pip install requests


Вы также можете указать конкретную версию пакета, добавив == после его имени. Например, чтобы установить версию 2.22.0 пакета requests, вы можете использовать следующую команду:

pip install requests==2.22.0


➡️Обновление пакета

Команда install также может использоваться для обновления уже установленных пакетов. Если у вас уже установлена более старая версия пакета, вы можете обновить ее до последней версии, используя следующую команду:

pip install --upgrade requests


⬆️Эта команда обновит пакет requests до последней доступной версии.

➡️Удаление пакета

Если вам больше не нужен определенный пакет, вы можете удалить его с помощью команды uninstall. Например, чтобы удалить пакет requests, вы можете использовать следующую команду:

pip uninstall requests


Вы также можете указать конкретную версию пакета, которую вы хотите удалить. Например, чтобы удалить версию 2.22.0 пакета requests, вы можете использовать следующую команду:

pip uninstall requests==2.22.0


🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍118🔥4
Вчера мы разбирали основные команды pip, если вы еще не видели, обязательно посмотрите.

➡️Команда pip show

Команда 'pip show' позволяет получить подробную информацию о конкретном пакете Python. Она показывает название пакета, его версию, автора, домашнюю страницу, зависимости и многое другое. Это очень удобно, когда вы хотите быстро узнать о пакете, с которым работаете, или проверить версию, чтобы убедиться, что у вас установлена самая новая.

Пример использования команды pip show:

pip show requests


➡️Команда pip search

Команда 'pip search' предоставляет возможность искать новые пакеты Python прямо из командной строки. Она позволяет разработчикам найти пакеты по ключевым словам, описанию или автору. Это может быть полезно, когда вы ищете новые инструменты или библиотеки для своего проекта и хотите найти что-то, что соответствует вашим потребностям.

Пример использования команды pip search:

pip search data analysis


➡️Команда pip freeze

Команда 'pip freeze' позволяет создать файл со списком всех установленных пакетов Python и их версиями. Это полезно, когда вы хотите поделиться своим проектом с другими разработчиками или восстановить его на другой машине. Просто запустите 'pip freeze > requirements.txt' и получите файл, который можно передать другим, чтобы они могли легко установить все необходимые зависимости.

Пример использования команды pip freeze:

pip freeze > requirements.txt


🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍64🔥3
🤣293😁3👍2🔥2
✈️HTML (HyperText Markup Language) и XML (eXtensible Markup Language) являются языками, которые используются для описания структуры и содержимого документов. Несмотря на то, что оба языка имеют сходства в своей синтаксисе и структуре, у них есть несколько важных различий.

➡️1. Цель использования

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

Пример HTML:

<!DOCTYPE html>
<html>
<head>
<title>Пример HTML</title>
</head>
<body>
<h1>Заголовок страницы</h1>
<p>Это параграф с текстом.</p>
<a href="<https://example.com>">Ссылка на пример</a>
</body>
</html>


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

Пример XML:

<book>
<title>Название книги</title>
<author>Имя автора</author>
<year>2021</year>
</book>


➡️2. Синтаксис и структура

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

Пример HTML:

<!DOCTYPE html>
<html>
<head>
<title>Пример HTML</title>
</head>
<body>
<h1>Заголовок страницы</h1>
<p>Это параграф с <strong>жирным текстом</strong>.</p>
<ul>
<li>Элемент списка 1</li>
<li>Элемент списка 2</li>
</ul>
</body>
</html>


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

Пример XML:

<book>
<title>Название книги</title>
<author>Имя автора</author>
<year>2021</year>
</book>


🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍7🔥6