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

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

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

https://t.me/pythonhub_chat - чат
Download Telegram
Функция casefold() в Python


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

s = "Привет, МИР!"
print(s.casefold()) # выведет "привет, мир!"

Применение функции casefold()

Функция casefold() может быть полезна во многих задачах. Она может использоваться для сравнения строк без учета регистра. Это может быть полезно при поиске определенной строки в большом текстовом файле, где регистр может варьироваться.

Однако! есть некоторые особенности ее работы, которые следует учитывать. Во-первых, при использовании этой функции может произойти потеря данных, если символы не могут быть приведены к нижнему регистру. Во-вторых, эта функция может работать медленнее, чем другие функции для приведения к нижнему регистру, такие как lower().
👍5
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

У нас есть некий текст. Там есть символ перехода на новую строку, но он ни на что не влияет.
Далее, если вы читали
пост выше, то знаете, что casefold выполняет ту же задачу, что и lower. Первая проверка увенчается успехом, у нас уже выведется 1.

Ну а дальше проверка не выполнится, так как у нас при приведении к нижним регистрам будут образованы для сравнения два НОВЫХ и РАЗНЫХ объекта (строки). Поэтому далее мы перейдем в кейс els'a —> выведем 4.

Ответ: 1 4
👍2
🤔 Что такое хендлеры в телеграм ботах с точки зрения кода Python?

Хендлеры
- это функции, которые вызываются при получении определенного события от пользователя. В телеграм ботах, хендлеры используются для обработки входящих сообытий и выполнения определенных действий в ответ на эти события (отправка сообщения, взаимодействие с сообщением и т.д.).

Хендлеры могут быть созданы для обработки текстовых сообщений, фотографий, аудио и других типов сообщений, которые могут быть отправлены в телеграм бота.

👉 Как работают хендлеры?

При создании бота в телеграме, необходимо создать соединение с API телеграма. Затем, для каждого типа сообщений, необходимо создать соответствующий хендлер, который будет обрабатывать этот тип сообщения.

Когда пользователь отправляет сообщение в бота, телеграм сервер отправляет это сообщение в вашу программу, в которой запущен ваш бот. Затем, используя созданные хендлеры, ваша программа обрабатывает это сообщение и выполняет определенные действия в ответ на это сообщение.
👍5
🔔Разработчикам ботов в телеге приготовиться!

📹 Посмотрели, что нового в aiogram 3.x 📹
🔥 Если что-то важное упустил, то напишите сюда или в комментарии! 🔥

Если зайдет, то сделаю более детально все на примерах.
Возможно, сравню конкретно с примерами версии 2.x

не забудь поддержать видео 🫶

https://www.youtube.com/watch?v=ysjCCLbXEyw
👍3
🎯 Подсказки типов в Python


Аннотации типов
- это способ указать ожидаемый тип переменной в определении функции или метода. Для этого используется синтаксис с двоеточием и указанием типа после имени переменной. Например:

def add_numbers(x: int, y: int) -> int:
return x + y


Здесь мы указываем, что функция add_numbers ожидает два целочисленных аргумента и возвращает целое число. Хотя аннотации типов не оказывают никакого влияния на выполнение программы, они могут помочь IDE и другим разработчикам понимать, какие данные ожидает функция.
👍2
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

a = 4
b = 5

Перебор цикла for выдаст нам одно число —> 4 (пробегаемся с 4 до 5). Это число будет занесено в список lst в формате строки.
Дальше соединяем все элементы списка join'ом слитно —> из списка ['4'] получим строку '4', а после приведем ее к типу int —> 4. Занесем это с в переменную c

Далее проверим наличие переменной c (числа 4) в кортеже (a, b) —> (4, 5)
Да, такой элемент есть. Выведется True. Ну а False выводится независимо от условия if. Он у нас снаружи.

Ответ: True False
👍4
Сочетания клавиш в Pycharm😎
👍4
Сочетания клавиш в VSCode 😎
👍5
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

У нас есть задача с вложенными циклами. Нужно быть внимательным.
Первый цикл прокрутится 2 раза
Второй - один раз —> его можем не учитывать
Третий - 1 раз, переменная i будет принимать значение 4 и добавлять его в список a.
Первый цикл прокрутит цикл №3 Два раза. Соответственно, действие повторится.

Мы два раза добавим число 4 в список и получим ответ [4, 4] в списке.
👍3
🧐 Зачем нужны тестироващики, если программист может сам тестировать код?


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

👉 Во-вторых, тестирование требует определенных знаний и опыта. Тестировщик специализируется именно на тестировании, что позволяет ему обладать необходимыми знаниями и навыками для проведения тестирования. Он знает, какие методики тестирования использовать, какие инструменты применять и как правильно оформлять отчеты о тестировании. Это позволяет ему не только эффективнее тестировать приложение, но и существенно экономить время на этом этапе разработки.

👉 В-третьих, тестировщик может принести свежий взгляд на приложение. Программист, который работает над кодом, может привыкнуть к определенным проблемам или ошибкам и не видеть в них проблемы. Тестировщик же, который впервые сталкивается с приложением, может обнаружить ошибки, которые программист уже не замечает.
👍5
english_tutor.zip
609.6 KB
А вот и архив с файлами, пользуйтесь.
Напоминаю, что это что-то типа MVP, и архитектура тут не самая лучшая.
👍4