Python Hub - сборище Питонистов
Photo
Разбор 👨💻
В тексте переменной txt есть 4 буквы —> индекс последней —> [3]
Заходим в первый try, сразу же запрыгиваем во второй. Пробуем получить txt[5] —> не можем—> ошибку ловит except.
В except'e выводим число 2.
Далее выходим из внутреннего try-except'a и пытаемся получить txt[3] —> удачно —> на следующей строке выводим 3.
В except не заходим, так как все прошло успешно.
Ответ: 2 3
Заходим в первый try, сразу же запрыгиваем во второй. Пробуем получить txt[5] —> не можем—> ошибку ловит except.
В except'e выводим число 2.
Далее выходим из внутреннего try-except'a и пытаемся получить txt[3] —> удачно —> на следующей строке выводим 3.
В except не заходим, так как все прошло успешно.
Ответ: 2 3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Когда мы пишем `import this` в Python, происходит загрузка модуля под названием "this". Однако, вместо того, чтобы импортировать какие-то функции или переменные, этот модуль выводит на экран "The Zen of Python" - набор принципов и философии языка программирования Python.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
🧹 Что такое "чистая" функция?
"Чистая" функция - это функция, которая при выполнении одного и того же входного значения всегда возвращает одинаковый результат и не имеет побочных эффектов. То есть, она не влияет на состояние программы или внешние переменные. Результат работы "чистой" функции зависит только от переданных ей аргументов.
⏩ Пример чистой функции
Давайте рассмотрим пример простой чистой функции на языке 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