Python Hub - сборище Питонистов
1.71K subscribers
657 photos
1 video
37 files
276 links
Уголок счастья для любого питониста.

Сотрудничество или заказы: @leshunist

https://shcoder.dev - студия разработки ShcoderDevelopment

https://t.me/pythonhub_chat - чат
Download Telegram
👩‍💻 Что будет, если написать import this в Python?

Когда мы пишем `import this` в Python, происходит загрузка модуля под названием "this". Однако, вместо того, чтобы импортировать какие-то функции или переменные, этот модуль выводит на экран "The Zen of Python" - набор принципов и философии языка программирования Python.

А ты знал?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
🧹 Что такое "чистая" функция?


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

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

Давайте рассмотрим пример простой чистой функции на языке 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.
Please open Telegram to view this post
VIEW IN TELEGRAM
5
🚀 Оптимизация кода Python

🤔 Многие сталкиваются с проблемой, что кол очень долго выполняется, тобиж не оптимизирован. Сейчас мы это исправим.

➡️ Для примера возьмём функцию вычисления последовательности Фибоначчи:
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))




😀 Так, данный код будет выполняться в рааазы быстрее.
Подробнее про этот декоратор можно почитать здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
🐍 Ещё одна пасхалка в виде встроенного модуля

Все смотришь как люди "hello world" пишут через print? А зачем, если можно сделать так:
import __hello__



А какие пасхалки знаете Вы?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
🤨 Для чего нам создавать ошибку? Raise exception в Python.


Иногда, при разработке программного обеспечения на 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, чтобы поймать и обработать ошибку.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41
Что выдаст код выше?
Anonymous Quiz
52%
1
15%
2
3%
1 2
20%
Error
11%
Не знаю
👍5
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

'b' in 'bbbb' выдаст нам True —> потому что левый элемент действительно присутствует в правом.
Перед этим выражением есть not, который превратит True в False
Перед not'ом есть еще not —> превратит назад в True
Еще not —> False
еще not —> True
Получится в конце if True —> условие выполняется.

Выдаст 1.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🕸 Что такое pywebcopy?


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". После выполнения этого кода, мы получим локальную копию веб-сайта, включая все его страницы и ресурсы.

https://pypi.org/project/pywebcopy/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
⌨️ Transliterate в Python

Библиотека Transliterate обеспечивает простой перевод текста между кириллицей и латиницей в Python. Установка производится командой pip install transliterate.

from transliterate import translit

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


🧑‍💻 Это удобное средство при работе с многоязычными данными. 📚Документация содержит дополнительные сведения и примеры использования.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
1 февраля мир отмечает праздник – День изменения пароля.

А какой пароль стоит у вас и на какой соц. сети?🤤
👍5
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

Важно знать, что (2) —> просто 2. (2,) —> кортеж с элементом 2
В круглых скобках запятая сильно решает.

Умножая 'a' * 2 —> 'aa'
Список всегда список, поэтому b —> ['b', 'b']

Ну и f-строка выведет это все, предварительно отформатировав в текст.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
🏵 Colorama: Что это и зачем оно нужно в Python?


😴 Добавление цвета к текстовому выводу

Черно-белый текст в терминале может быть однообразным и трудным для чтения. 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)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
📦 Основные команды pip в Python


Установка пакета

Одной из первых команд, которую вы можете использовать с 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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4👨‍💻1
📦 Дополнительные команды pip в Python

Вчера мы разбирали основные команды 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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3