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
Что такое логирование?


Логирование, или журналирование, – это процесс записи событий в системе. Эти события могут включать в себя всё: от информации о том, что программа успешно завершила свою работу, до деталей о возникших ошибках. Логи могут быть сохранены в различных форматах и на различных носителях, включая файлы, базы данных или даже удаленные серверы.

➡️ Преимущества логирования

Логирование имеет множество преимуществ. Оно помогает разработчикам отслеживать и исправлять ошибки, анализировать поведение системы и даже предотвращать возможные проблемы в будущем. Кроме того, логи могут быть использованы для аудита, что особенно важно для обеспечения безопасности системы.

➡️ Как использовать логирование?

Применять логирование можно разными способами. Во-первых, можно использовать встроенные средства ОС или специализированные инструменты для логирования. Во-вторых, можно внедрять функции логирования непосредственно в свои приложения. В любом случае, важно помнить о необходимости разделять логи по уровням важности и обеспечивать их надлежащее хранение и архивацию.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

str.isupper() -> bool
Возвращает флаг, указывающий не то, содержит ли строка символы только верхнего регистра.

Аналогично с islower, только для нижнего регистра.

Метод upper() возращает копию строки, в которой все буквы сконвертированы к большому регистру (заглавные буквы). Все остальные символы остаются неизмененными.

Аналогично с lower(), только к нижнему регистру.

В итоге получаем False == False, THIS IS NOW! == this is now! —> True, False
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
🟢 Как работает isupper() и islower() в Python на примерах


➡️ Функция isupper()

Функция isupper() в Python возвращает True, если все символы в строке являются заглавными буквами. Если строка содержит хотя бы одну строчную букву или другой символ (цифру, специальный символ), функция возвращает False.

Пример:

print('HELLO'.isupper())  # Вывод: True
print('Hello'.isupper()) # Вывод: False


➡️ Функция islower()

Функция islower() работает аналогично функции isupper(), но в обратном направлении. Она возвращает True, если все символы в строке являются строчными буквами. Если строка содержит хотя бы одну заглавную букву или другой символ, функция возвращает False.

Пример:

print('hello'.islower())  # Вывод: True
print('Hello'.islower()) # Вывод: False


➡️ Применение функций isupper() и islower()

Функции isupper() и islower() могут быть полезными при валидации ввода пользователя или при обработке текстовых данных. Они позволяют программе реагировать на регистр символов в строке, что может быть полезно во множестве ситуаций. Например, при создании системы регистрации, где требуется, чтобы пароль содержал как минимум одну заглавную букву.
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍4
🎒 Функция .isprintable() в Python: Назначение и Примеры Использования.


➡️ Что такое функция .isprintable()?

Функция .isprintable() в Python - это встроенная функция, которая возвращает 'True', если все символы в строке печатаемые, и 'False', если хотя бы один символ в строке не печатаемый. Непечатаемые символы включают управляющие символы, такие как перевод строки или табуляция.

➡️ Примеры использования функции .isprintable()

Рассмотрим пример использования функции .isprintable(). Допустим, у нас есть строка 'Hello, World!'. Если мы применим к этой строке функцию .isprintable(), результатом будет 'True', потому что все символы в этой строке являются печатаемыми. Однако, если бы у нас была строка 'Hello\nWorld!', результатом было бы 'False', потому что символ '\n' не является печатаемым.

➡️ Пример кода:

string1 = 'Hello, World!'
print(string1.isprintable()) # Вывод: True

string2 = 'Hello\\\nWorld!'
print(string2.isprintable()) # Вывод: False


➡️ Как работает функция .isprintable()?

Функция .isprintable() проверяет каждый символ в строке, чтобы определить, является ли он печатаемым. Если все символы печатаемые, функция возвращает 'True'. Если хотя бы один символ не печатаемый, функция возвращает 'False'. Это делает ее прекрасным инструментом для быстрой проверки больших объемов данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍1
☝️ Функция .upper() и .lower() в Python


➡️ Функция .upper()

Функция .upper() в Python используется для преобразования всех символов в строке в верхний регистр. Это очень полезно, когда вы хотите сравнить строки без учета регистра или обеспечить единообразие ввода данных. Пример использования:

text = 'Hello, World!'
print(text.upper()) # Вывод: 'HELLO, WORLD!'


➡️ Функция .lower()

С другой стороны, функция .lower() преобразует все символы строки в нижний регистр. Это также может быть полезно при сравнении строк или обеспечении единообразия ввода. Пример использования:

text = 'Hello, World!'
print(text.lower()) # Вывод: 'hello, world!'


➡️ Применение .upper() и .lower()

Функции .upper() и .lower() часто используются вместе для обеспечения единообразия ввода и процесса обработки данных. Например, вы можете преобразовать ввод пользователя в нижний регистр перед проверкой его в словаре, где все ключи хранятся в нижнем регистре. Таким образом, вы можете быть уверены, что ваш код будет работать независимо от того, как пользователь ввел данные.

#meme_image
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🙊 Понимание функции .istitle() в Python


Функция .istitle() в Python используется для проверки, соответствует ли строка правилам заголовка. Другими словами, она проверяет, является ли первый символ каждого слова в строке заглавной буквой, а все остальные символы - строчными. Если строка соответствует этим правилам, функция возвращает True, в противном случае - False. Например, строка "Привет Мир" вернет True, в то время как строка "ПРИВЕТ МИР" или "привет мир" вернет False.

print("Привет Мир".istitle())  # Вывод: True
print("ПРИВЕТ МИР".istitle()) # Вывод: False
print("привет мир".istitle()) # Вывод: False
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤‍🔥1
🙊 Функция .isspace() в Python

Функция .isspace() в Python используется для проверки, являются ли все символы в строке символами пробела. Если строка содержит только символы пробела (такие как пробелы, табуляции или символы новой строки), функция возвращает True. Если в строке есть какой-либо непробельный символ, функция возвращает False. Например, строка " " (с пятью пробелами) вернет True, в то время как строка " Привет " вернет False, потому что она содержит непробельные символы.

print("     ".isspace())  # Вывод: True
print(" Привет ".isspace()) # Вывод: False
Please open Telegram to view this post
VIEW IN TELEGRAM
3
📸 Как делать скриншоты через Python?


➡️ Использование библиотеки PyAutoGUI

PyAutoGUI - это модуль Python для программного управления мышью и клавиатурой. Он также позволяет делать скриншоты. Для создания скриншота вам просто нужно вызвать функцию screenshot(). Это простой и быстрый способ сделать скриншот, но у него есть ограничения. Например, он не может делать скриншоты отдельных окон.

Пример кода на PyAutoGUI:

import pyautogui

# Создание скриншота
screenshot = pyautogui.screenshot()

# Сохранение скриншота в файл
screenshot.save("screenshot.png")


➡️ Использование библиотеки Pillow

Pillow - это форк оригинальной библиотеки PIL (Python Imaging Library). Он предоставляет широкий функционал для работы с изображениями, включая создание скриншотов. Для этого используется метод ImageGrab.grab(). Он позволяет делать скриншоты всего экрана или его отдельных областей, но, как и PyAutoGUI, не может делать скриншоты отдельных окон.

Пример кода на Pillow:

from PIL import ImageGrab

# Создание скриншота
screenshot = ImageGrab.grab()

# Сохранение скриншота в файл
screenshot.save("screenshot.png")
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41
📅 Продолжил пилить серию видосов по телеграм боту для расписания универа.

6️⃣ часть (думаю, что последняя) посвящена не скажу чему)) Посмотрите сами в видео!)

Лайк, коммент, критика приветствуется.



👌Можете предлагать идеи для некст проектов.
👌 И было бы интересно выкинуть этого бота в прод и собрать аналитику, актуальный ли проект?

https://youtu.be/A1mMBsM61ec
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2
object в Python


➡️ Синтаксис функции object

Функция object в Python не требует параметров при вызове. Она возвращает объект без функциональных особенностей, который не содержит полезных методов или атрибутов. Например, когда вы создаете объект x = object(), вызов dir(x) отобразит только базовые методы, которые являются стандартными для всех классов. Это связано с тем, что функция object является самым базовым типом.

x = object()
print(dir(x))


➡️ Случаи использования функции object

Функция object в Python обычно не используется для создания объектов, поскольку получаемый объект не имеет полезных методов. Однако она применяется в нескольких конкретных сценариях. Например, когда вам нужно создать нейтральный объект для сравнения, функция object оказывается полезной. Кроме того, она полезна, когда вы хотите реализовать истинное инкапсуляцию в Python.

➡️ Функция object и наследование

В контексте наследования функция object имеет большое значение. В Python каждый класс происходит от класса object, что делает его базовым классом для всех других классов. Даже когда класс явно не наследуется от какого-либо класса, он неявно наследуется от класса object. Таким образом, функция object играет критическую роль в механизме наследования Python, предоставляя стандартные методы и атрибуты для всех классов.

class MyClass:
pass

print(issubclass(MyClass, object)) # Вернет True, поскольку каждый класс является подклассом object
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
🔺 Исследование библиотеки retrying в Python


➡️ Установка

Библиотека retrying не является встроенной библиотекой в Python, поэтому ее нужно установить отдельно. Команда pip install retrying должна быть выполнена в командной строке. После установки вы можете импортировать ее с помощью команды import retrying.

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

Библиотека retrying довольно проста в использовании. Основной функцией этой библиотеки является декоратор @retry, который мы можем применить к любой функции, которую мы хотим повторить. Это особенно полезно для задач, которые имеют шанс на отказ. Например, сетевые запросы могут потерпеть неудачу из-за временных сетевых проблем, и вместо того, чтобы сразу же терпеть неудачу, использование библиотеки retrying может позволить нашей программе попробовать снова. Простой пример будет выглядеть так:

from retrying import retry
@retry
def make_network_request():
# код для выполнения сетевого запроса


В этом примере, если функция make_network_request потерпит неудачу, она будет попробована снова благодаря декоратору @retry.

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

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


https://pypi.org/project/retrying/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51
Что выдаст код выше?
Anonymous Quiz
11%
1
8%
0
18%
5
18%
7
14%
6
21%
Error
11%
Не знаю
🤡8👍4🤔2
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

Вызываем функцию rec, передавая туда значение 3.
Внутри функции идет проверка, где мы в return'e возвращаем результат n + новый вызов функции rec(n-1) —> rec(2)

Операция повторяется и мы возвращаем результат n + rec(n-1) —> n + rec(1)

Заходим заново в функцию и возвращаем n + rec(0) —> теперь после вызова сработает return 1, т.к. if проверяет что n==0.

После чего, идем замыкать рекурсию в обратную сторону.

n + rec(0) —> 1 + 1 —> 2
n + rec(1) —> 2 + 2 —> 4
n + rec(2) —> 3 + 4 —> 7
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5