Python Hub - сборище Питонистов
Open in Telegram
Уголок счастья для любого питониста. Сотрудничество или заказы: @leshunist https://shcoder.dev - студия разработки ShcoderDevelopment https://t.me/pythonhub_chat - чат
Show more1 710
Subscribers
No data24 hours
-107 days
-1630 days
Posts Archive
❗️ Что называется объектом в Python?
Объекты - это экземпляры классов, и классы являются шаблонами для создания объектов. Каждый объект имеет свои собственные атрибуты (переменные, данные) и методы (функции, действия), которые определяют его поведение и взаимодействие с другими объектами.
Например, если у нас есть класс "Автомобиль", мы можем создать несколько объектов этого класса, таких как "Машина1" и "Машина2". У каждого объекта будет свой набор атрибутов, таких как "марка", "модель" и методов, таких как "завести двигатель" или "передвинуться вперед".
🔻 Преимущества использования объектов в Python
Во-первых, объектно-ориентированное программирование облегчает структурирование кода и делает его более логичным и понятным. Каждый объект отвечает за свои собственные данные и методы.
Во-вторых, объекты позволяют создавать сложные структуры данных и абстракции. Мы можем создавать классы, которые представляют реальные или воображаемые объекты, и определять, их взаимодействие друг с другом.
❗️ Кто вообще такой этот ваш ООП в программировании? (базово)
ООП - это сокращение от "объектно-ориентированное программирование". Это парадигма программирования, которая использует объекты и их взаимодействие для решения задач. ООП стал широко распространенным подходом в программировании, и понимание его основных концепций может быть полезным для разработчиков.
🔻 Преимущества ООП
ООП предлагает ряд преимуществ, которые делают его популярным подходом в программировании.
Во-первых, ООП способствует повышению переиспользуемости кода. Разработчики могут создавать модули и классы, которые можно использовать в разных проектах.
Во-вторых, ООП способствует упрощению поддержки и изменения программного кода. Если необходимо внести изменения в программу, то, в большинстве случаев, достаточно внести изменения только в одном месте - в классе или его методе.
В-третьих, ООП позволяет создавать более надежные программы. Благодаря инкапсуляции и строгой организации кода, ошибки и проблемы могут быть обнаружены.
❗️ Что за библиотека Werkzeug в Python?
Werkzeug предлагает множество полезных функций для разработки веб-приложений. Одной из главных особенностей этой библиотеки является ее простота использования. Werkzeug предоставляет простой API для обработки HTTP-запросов и ответов, а также для работы с URL-адресами. Она также поддерживает различные протоколы, такие как WSGI (Web Server Gateway Interface), что делает ее идеальным выбором для создания веб-приложений в Python.
Werkzeug также имеет встроенные инструменты для обработки форм и файлов, что значительно упрощает процесс обработки пользовательского ввода.
🔻Преимущества:
Одним из главных преимуществ использования Werkzeug является его гибкость. Она предоставляет разработчику полный контроль над процессом обработки запросов и ответов, что позволяет создавать высокопроизводительные и эффективные веб-приложения.
Еще одним преимуществом Werkzeug является его интеграция с популярными фреймворками веб-разработки, такими как Flask и Django.
Разбор 👨💻
Есть пустой словарь d. Далее мы бежим циклом по числам от 0 до 9 и заносим эти числа в наш словарь. В ключ мы заносим сами числа 0 - 9, а в значение каждому ключу прибавляем +1 —> 1-10.
Далее у нас блок try-except, который может отлавливать ошибки. Когда мы пытаемся обратиться по ключу [-1], то вылетает ошибка —> мы не в списке!! мы в словаре! у нас есть ключи, состоящие из чисел 0 - 9, какой тут -1??
Ошибка ловится в except —> выводится значение по ключу 4 —> а это было 4+1 —> 5.
Ответ: 5
❗️Что такое регулярные выражения в Python?
Регулярные выражения - это мощный инструмент для работы с текстом в Python. Они позволяют искать, сопоставлять и изменять строки с использованием определенного синтаксиса. Регулярные выражения основаны на математическом понятии формальных языков и широко используются в обработке текстовых данных.
🔻 Примеры использования регулярных выражений
Регулярные выражения могут быть использованы для различных задач. Например, вы можете использовать их для поиска определенного шаблона в тексте, для замены определенных символов или для валидации данных. В Python для работы с регулярными выражениями используется модуль
re, который предоставляет функции и методы для работы с ними.
Например, вы можете использовать регулярное выражение для поиска всех email-адресов в тексте. С помощью метода findall() из модуля re вы сможете получить все совпадения с заданным шаблоном.
import re
text = "Это мой email: example@example.com"
pattern = r"\\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Z|a-z]{2,}\\b"
emails = re.findall(pattern, text)
print(emails) # Output: ['example@example.com']
Ссылка на доку: https://docs.python.org/3/library/re.htmlБыло предложено решение от одного из наших хабовцев
s = "is2 Thi1s T4est 3a"
words = s.split()
import re
d = {}
for word in words:
num = int(re.findall(r'\d+', word)[-1])
d[num] = word
# {2: 'is2', 1: 'Thi1s', 4: 'T4est', 3: '3a'}
sorted_pairs = sorted(d.items())
result_list = []
for pair in sorted_pairs:
result_list.append(pair[1])
o = ' '.join(result_list)
print(o)
В целом, если посмотреть, то нам предлагается сформировать словарь, где ключами являются цифры, присутствующие в словах, а значениями - сами слова. Ну а дальше обычная сортировка всего этого в нужном нам порядке и соединение. Суть, думаю, ясна.
Думаю, кстати, стоит поговорить про регулярные выражения чуть позже.
А вот еще вариант решения, только он уже без регулярок
def order(sentence):
if sentence == "":
return ""
final = ["0"] * 9
sentence = sentence.split()
for i in sentence:
for j in range(1, 10):
if str(j) in i:
final[j - 1] = i
for i in range(final.count("0")):
final.remove("0")
return " ".join(final)
print(order('Thi1s is2 3a T4est'))
Тут логика такая, что мы сразу создаем массив из 9 элементов, куда заносим сначала просто, например, 0. Ну а дальше, мы проверяем, какое число находится в слове, после чего подставляем его на нужную позицию. Например , нашли is2 —> подставили на 2-ую позицию по индексу 1.
Ну а в конце не забываем убрать все лишние оставшиеся нули и соединить все join'ом.
Какой вариант вам понятнее?
🌭 - 1-ый
🍌 - 2-ойРазбор 👨💻
Приводя к множеству (set) список или кортеж, мы убираем все повторения в структуре данных, а так же автоматически сортируем это множество. Таким образом, нам просто стоит убедиться, что в обоих структурах присутствуют одни и те же элементы. 1 2 3 4 5 6 есть в каждом из, так что равенство после преобразования будет верным —> True
🔔Aiogram 3 нужно учить, если пишешь ботов в телеграм!
📹 Разобрались, как работать с фильтрами в Aiogram 3.x 📹
🔥 Смотрите, оценивайте, используйте 🔥
p.s. совсем забыл про отложенный выпуск видео :/
Поддержка и комментарии приветствуются☺️
https://www.youtube.com/watch?v=ZvMIdY0JjJc
💁♂️ Задача уровень 6
Ваша задача - отсортировать заданную строку. Каждое слово в строке будет содержать одно число. Это число - позиция, которую должно занимать слово в результате.
Примечание: Цифры могут быть от 1 до 9. Таким образом, 1 будет первым словом (а не 0).
Если входная строка пуста, верните пустую строку. Слова во входной строке будут содержать только допустимые последовательные числа.
Пример 🤯
"is2 Thi1s T4est 3a" --> "Thi1s is2 3a T4est" "4of Fo1r pe6ople g3ood th5e the2" --> "Fo1r the2 g3ood 4of th5e pe6ople" "" --> ""link: https://www.codewars.com/kata/55c45be3b2079eccff00010f/python
❗️ Оператор in в Python
Оператор in в Python используется для проверки вхождения элемента в последовательность. Эта последовательность может быть строкой, списком, кортежем или даже словарем. Синтаксис оператора in выглядит следующим образом:
элемент in последовательность. Оператор in возвращает логическое значение True, если элемент присутствует в последовательности, и False, если элемент отсутствует.
Например, давайте рассмотрим следующий пример:
fruits = ['apple', 'banana', 'orange']
if 'apple' in fruits:
print("Я люблю яблоки!")
В этом примере мы создали список фруктов и проверяем, присутствует ли в нем элемент 'apple'. Если элемент 'apple' присутствует, то выводится сообщение "Я люблю яблоки!".
text = "Python is a powerful programming language"
if "Python" in text:
print("Python найден!")
В этом примере мы проверяем, содержит ли строка "Python is a powerful programming language" подстроку "Python". Если подстрока "Python" присутствует, то выводится сообщение "Python найден!".⁉️ Зачем нужен файл __init__ в папке Python проекта?
🔻Организация модулей
Один из основных назначений файла
__init__.py - это сигнализировать Python, что папка является модулем. В этом файле можно определить переменные, функции или классы, которые будут доступны извне. Это позволяет организовать код внутри папки и создавать логические блоки функциональности. Благодаря файлу __init__.py вы можете импортировать модули из папки, используя точечную нотацию, например: "import folder.module".
🔻 Инициализация пакетов
В Python папки с файлами __init__.pyназываются пакетами. Файл __init__.py в пакете выполняет роль инициализации пакета. Это означает, что код в этом файле будет выполнен при импорте пакета. Это может быть полезно, когда вам нужно выполнить какую-то предварительную настройку или импортировать дополнительные модули, необходимые для работы пакета. Такой подход позволяет обеспечить последовательность инициализации и избежать ошибок при использовании пакета.Разбор 👨💻
Создаем объект класса Person, куда передаем пустое имя. Просто пустые кавычки. Далее мы выводим это имя - в ответ пустота. Ну а далее через сеттер устанавливаем значение свойству name. У нас там внутри есть проверка на пустоту, однако мы уже передаем имя "Петр Петров". Все проходит успешно, ну и далее мы это имя выводим.
Available now! Telegram Research 2025 — the year's key insights 
