🧹 Что такое "чистая" функция?
"Чистая" функция - это функция, которая при выполнении одного и того же входного значения всегда возвращает одинаковый результат и не имеет побочных эффектов. То есть, она не влияет на состояние программы или внешние переменные. Результат работы "чистой" функции зависит только от переданных ей аргументов.
⏩ Пример чистой функции
Давайте рассмотрим пример простой чистой функции на языке Python. Предположим, у нас есть функция
Эта функция является "чистой", потому что она всегда возвращает удвоенное значение переданного числа и не имеет побочных эффектов. Независимо от контекста выполнения и внешних переменных, результат работы этой функции будет одинаковым при одинаковом входном значении.
⏩ Пример нечистой функции
Рассмотрим теперь пример нечистой функции на языке Python. Предположим, у нас есть функция
Эта функция не является "чистой", потому что она изменяет состояние программы путем добавления значения в глобальный список
"Чистая" функция - это функция, которая при выполнении одного и того же входного значения всегда возвращает одинаковый результат и не имеет побочных эффектов. То есть, она не влияет на состояние программы или внешние переменные. Результат работы "чистой" функции зависит только от переданных ей аргументов.
Давайте рассмотрим пример простой чистой функции на языке 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
Forwarded from Python Hub - сборище Питонистов
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
https://youtu.be/SaCkli1FOUo
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Хранить и отправлять картинки в AIOgram 3.x | Python Telegram Bot
В этом видео я расскажу, как можно хранить и отправлять картинки в телеграм боте, написанном на языке Python, используя библиотеку Aiogram версии 3.
p.s. Мы будем хранить file id картинок.
👨💻 Подписывайся на наш телеграм канал! 👨💻
🖇 https://t.me/pythonhub001…
p.s. Мы будем хранить file id картинок.
👨💻 Подписывайся на наш телеграм канал! 👨💻
🖇 https://t.me/pythonhub001…
👍3
Иногда, при разработке программного обеспечения на Python, мы можем столкнуться с ситуациями, когда необходимо явно указать на наличие ошибки.
Когда мы пишем программы, мы стараемся их делать максимально надежными и безопасными. Однако, иногда может возникнуть ситуация, когда мы хотим явно указать на наличие проблемы. Например, если в функции передаются некорректные аргументы или программа не может продолжить выполнение из-за некорректного состояния. В таких случаях мы можем создать исключение с помощью оператора 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
👍4❤1
Python Hub - сборище Питонистов
all_exceptions_in.py.txt
1.9 KB
🍃 Кому надо, вот все встроенные классы исключений
👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Ускоряем работу python с numba
Привет, Хабр! Numba — это Just-In-Time компилятор, который превращает ваш код на питоне в машинный код на лету. Это не просто мелкая оптимизация, а серьёзно ускорение. Если вы знакомы с...
👍3
👍5
Python Hub - сборище Питонистов
Photo
Разбор 👨💻
'b' in 'bbbb' выдаст нам True —> потому что левый элемент действительно присутствует в правом.
Перед этим выражением есть not, который превратит True в False
Перед not'ом есть еще not —> превратит назад в True
Еще not —> False
еще not —> True
Получится в конце if True —> условие выполняется.
Выдаст 1.
Перед этим выражением есть 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 - это инструмент на языке Python, который позволяет скачивать целые веб-сайты и их содержимое для локального использования.
PyWebCopy обладает несколькими основными функциями, которые делают его полезным инструментом для скачивания веб-сайтов:
1. Полное скачивание сайта: С помощью pywebcopy вы можете скачать целый веб-сайт, включая все его страницы, изображения, стили CSS и другие ресурсы. Это особенно полезно, когда требуется сохранить копию веб-сайта или работать с ним офлайн.
2. Обработка ссылок: PyWebCopy автоматически обрабатывает ссылки на другие страницы внутри веб-сайта и корректно настраивает их, чтобы они указывали на локально скачанные версии страниц. Это позволяет вам легко навигировать по веб-сайту и просматривать его содержимое в офлайн-режиме.
3. Поддержка фильтров: Вы можете настроить 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. Установка производится командой 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
Что выдаст код выше?
Anonymous Quiz
24%
aa - bb
19%
('a', 'a') - ['b', 'b']
21%
aa - ['b', 'b']
4%
('a', 'a') - bb
21%
Error
10%
Не знаю
👍5❤1
Python Hub - сборище Питонистов
Photo
Разбор 👨💻
Важно знать, что (2) —> просто 2. (2,) —> кортеж с элементом 2
В круглых скобках запятая сильно решает.
Умножая 'a' * 2 —> 'aa'
Список всегда список, поэтому b —> ['b', 'b']
Ну и f-строка выведет это все, предварительно отформатировав в текст.
В круглых скобках запятая сильно решает.
Умножая 'a' * 2 —> 'aa'
Список всегда список, поэтому b —> ['b', 'b']
Ну и f-строка выведет это все, предварительно отформатировав в текст.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Черно-белый текст в терминале может быть однообразным и трудным для чтения. 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
Как подключить/использовать?
https://www.youtube.com/watch?v=XQ6hdp8j7pw
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Создаем Python админку на Django | Django Admin
В этом видео мы рассмотрим, как можно добавить админку на сайт Django. Создадим суперюзера, посмотрим, какими возможностями обладает admin panel из коробки.
👨💻 Подписывайся на наш телеграм канал! 👨💻
🖇 https://t.me/pythonhub001 🖇
👨💻 И вступай в чат 👨💻…
👨💻 Подписывайся на наш телеграм канал! 👨💻
🖇 https://t.me/pythonhub001 🖇
👨💻 И вступай в чат 👨💻…
👍5
Одной из первых команд, которую вы можете использовать с 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, если вы еще не видели, обязательно посмотрите.
Команда 'pip show' позволяет получить подробную информацию о конкретном пакете Python. Она показывает название пакета, его версию, автора, домашнюю страницу, зависимости и многое другое. Это очень удобно, когда вы хотите быстро узнать о пакете, с которым работаете, или проверить версию, чтобы убедиться, что у вас установлена самая новая.
Пример использования команды pip show:
pip show requests
Команда 'pip search' предоставляет возможность искать новые пакеты Python прямо из командной строки. Она позволяет разработчикам найти пакеты по ключевым словам, описанию или автору. Это может быть полезно, когда вы ищете новые инструменты или библиотеки для своего проекта и хотите найти что-то, что соответствует вашим потребностям.
Пример использования команды pip search:
pip search data analysis
Команда 'pip freeze' позволяет создать файл со списком всех установленных пакетов Python и их версиями. Это полезно, когда вы хотите поделиться своим проектом с другими разработчиками или восстановить его на другой машине. Просто запустите 'pip freeze > requirements.txt' и получите файл, который можно передать другим, чтобы они могли легко установить все необходимые зависимости.
Пример использования команды pip freeze:
pip freeze > requirements.txt
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3