ar
Feedback
Pythoner

Pythoner

الذهاب إلى القناة على Telegram

Полезные материалы по Python, которые будут интересны опытному и начинающему разработчику. Сотрудничество - @flattys Цены - @serpent_media Канал на бирже: https://telega.in/c/pythonercode

إظهار المزيد
6 798
المشتركون
-724 ساعات
-117 أيام
-4130 أيام
أرشيف المشاركات
✈️Humanize — это библиотека для Python, которая помогает преобразовывать текстовые представления чисел, дат и других значений
✈️Humanize — это библиотека для Python, которая помогает преобразовывать текстовые представления чисел, дат и других значений в более удобочитаемый человекообразный формат. Она используется для упрощения визуализации данных и улучшения пользовательского интерфейса. ➡️Humanize полезен в приложениях, где нужно отображать данные в интерфейсе: —Веб-приложения для отображения статистики. —Информационные табло и панели мониторинга. —Системы аналитики для визуализации данных. —CLI-интерфейсы для вывода данных пользователю. ➡️Несколько примеров: 💬Человеко-читаемые временные метки:
import humanize
import datetime

# Пример: время, прошедшее с 24 сентября 2023 года
dt = datetime.datetime(2023, 9, 24)
print(humanize.naturaltime(dt))  # Вывод: "1 месяц назад" (на момент текущей даты)
💬Форматирование чисел:
import humanize

number = 1500
print(humanize.intcomma(number))  # Вывод: "1,500"
print(humanize.intword(number))    # Вывод: "1.5 k"
💬Представление длительности:
import humanize

duration = 3661  # время в секундах
print(humanize.precisedelta(datetime.timedelta(seconds=duration))) 
# Вывод: "1 час, 1 минутa, 1 секунда"
🔎Использование Humanize позволяет сделать отображение данных более естественным и понятным для человека. Это улучшает user experience приложения. 🐍Pythoner

🙅‍♂️ Хватит листать безликие каналы! В Кисель в АйТи всё иначе. Каждый пост — это выжимка опыта, который я сам применяю в ра
🙅‍♂️ Хватит листать безликие каналы! В Кисель в АйТи всё иначе. Каждый пост — это выжимка опыта, который я сам применяю в работе. Ты не найдёшь здесь ссылок на чужие материалы и копий из десятков других каналов. Только то, что пишет человек, который в этом живёт и работает каждый день. 🤝 Подпишись и убедись сам: Кисель в АйТи — это место, где ценят твое время. Реклама. Киселев А.С. ИНН 503015075801.

✈️Тернарный оператор — это оператор, позволяющий записать условную конструкцию if-else в одну строку. ➡️Тернарный оператор ча
✈️Тернарный оператор — это оператор, позволяющий записать условную конструкцию if-else в одну строку. ➡️Тернарный оператор часто используется для условного присваивания значений переменной, выбора между двумя вариантами в одну строку. Он позволяет сократить и упростить запись условных выражений. Однако не рекомендуется использовать вложенные конструкции, т. к. это ухудшает читаемость. ➡️Простой пример:
a = 3
b = 10

print('a больше b') if a > b else print('a меньше b')

result = 'Четное' if a % 2 == 0 else 'Нечетное'
print(result)

# Результат:
# a меньше b
# Нечетное 
⬆️В данном примере тернарный оператор используется: —Для вывода одной из двух фраз в зависимости от условия a > b. —Для присваивания переменной result одного из двух значений в зависимости от четности a. 🐍Pythoner

Запустите рекламу в телеграм-каналах с Яндекс Директом Перфоманс-реклама теперь в телеграм-каналах ⚡ Яндекс Директ знает, как
Запустите рекламу в телеграм-каналах с Яндекс Директом Перфоманс-реклама теперь в телеграм-каналах ⚡ Яндекс Директ знает, как привлечь целевую аудиторию 💰👌 Попробовать #реклама yandex.ru О рекламодателе

Изучаете Python и уже чувствуете себя уверенно? Хотите проверить себя и свои знания? Тогда приглашаем на бесплатный мини-курс
Изучаете Python и уже чувствуете себя уверенно? Хотите проверить себя и свои знания? Тогда приглашаем на бесплатный мини-курс «Python для всех»: https://epic.st/9Jt_Pp?erid=2Vtzqwf8vh5 Курс состоит из практики чуть меньше чем полностью. За 4 дня вы создадите 4 проекта: 1️⃣ Бота для Telegram, который умеет переводить голос в текст 2️⃣ Бота для Telegram, который обрабатывает фотографии 3️⃣ Парсер, который извлекает данные с сайтов 4️⃣ Веб-сайт (с помощью фреймворка Flask) В общем, прокачаете навыки и наверняка узнаете что-то новое. 🎁 А ещё подарки: персональная карьерная консультация, скидка 10 000 рублей на любой курс Skillbox и подборка полезных материалов. Новогодний сюрприз от Skillbox: дарим скидки до 60% и 3 курса в подарок! Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880

✈️Сегодня поговорим о том, как сделать работу с путями в Python более элегантной и современной. Если вы всё ещё используете o
✈️Сегодня поговорим о том, как сделать работу с путями в Python более элегантной и современной. Если вы всё ещё используете os.path, то пора двигаться вперёд! ➡️Модуль pathlib появился в Python 3.4 и полностью изменил правила игры. Это как пересесть с древнего велосипеда на Tesla – всё те же базовые принципы, но сильно удобнее! 🔎Почему стоит перейти на pathlib? —Объектно-ориентированный подход вместо строковых операций —Кроссплатформенность из коробки —Цепочки методов, которые читаются как поэзия —Меньше кода, больше смысла ➡️Практические примеры:
# Старый подход с os.path
import os.path
file_path = os.path.join('data', 'users', 'config.json')
parent_dir = os.path.dirname(file_path)
file_name = os.path.basename(file_path)

# Новый подход с pathlib
from pathlib import Path
file_path = Path('data') / 'users' / 'config.json'
parent_dir = file_path.parent
file_name = file_path.name
👀Крутые фишки pathlib, о которых вы могли не знать: ➡️Проверка существования файла:
path = Path('config.json')
if path.exists():
    print('Файл существует!')
➡️Создание директорий одной командой:
Path('nested/directories/structure').mkdir(parents=True, exist_ok=True)
➡️Поиск файлов по маске (glob):
# Найти все .py файлы в текущей директории
python_files = list(Path('.').glob('*.py'))
➡️Работа с суффиксами и расширениями:
path = Path('document.pdf')
print(path.suffix)  # .pdf
print(path.stem)    # document
➡️А теперь самое вкусное – цепочки методов:
config_path = (Path.home() / 'projects' / 'app' / 'config.json')
if config_path.exists():
    data = json.loads(config_path.read_text())
➡️Pro-tip: pathlib отлично работает с контекстными менеджерами:
with Path('log.txt').open('w') as f:
    f.write('Logging started')
🔎Когда стоит использовать os.path? Практически никогда! Разве что при работе с легаси-кодом или если вам нужны какие-то очень специфические операции с путями. ⚡️В заключение: pathlib – это не просто альтернатива os.path, это следующий эволюционный шаг в работе с файловой системой в Python. Он делает код чище, понятнее и приятнее в поддержке. Если вы ещё не перешли на pathlib, самое время начать! 🐍Pythoner

Постоянное давление, усталость и отсутствие ясности, как строить карьеру? Пишешь код которым не гордишься, проставляешь оценки, cписываешь часы, сидишь на созвонах... И вроде бы все неплохо, но не отпускают сомнения: а тем ли я занимаюсь в жизни? Ты не одинок в этом. Такие мысли знакомы многим, кто сталкивается с выгоранием, синдромом самозванца или потерей мотивации на фоне карьерных изменений. Если это про тебя, загляни в канал Екатерины — коуча для IT по стандартами ICF с 15-летним опытом в управлении IT-проектами и продуктами.  Екатерина делится проверенными инструментами и стратегиями, которые помогут тебе: ✔️ Победить синдром самозванца   ✔️ Преодолеть выгорание и вернуть энергию   ✔️ Найти новый карьерный путь   ✔️ Адаптироваться в новой роли или команде   ✔️ Развить уверенность в своих силах Подписывайся на канал Коуч для IT. Изменения неизбежны, чтобы развиваться личностно и в карьере — будь ты разработчик, инженер или техлид. Реклама. Бадовская Е.А. ИНН 773105726222.

Курс "Дизайн карточек для WB и Ozon". Бесплатно и с нуля Дизайнер карточек для маркетплейсов — востребованная и доходная проф
Курс "Дизайн карточек для WB и Ozon". Бесплатно и с нуля Дизайнер карточек для маркетплейсов — востребованная и доходная профессия 💰 Научись ей бесплатно! - Бесплатный доступ - Разбор ДЗ от наставника - Мощные кейсы в портфолио Узнать больше #реклама 16+ yudaevschool24.online О рекламодателе

✈️Сегодня поговорим о настоящей магии в мире Python – метапрограммировании и динамическом создании функций. ➡️Начнем с просто
✈️Сегодня поговорим о настоящей магии в мире Python – метапрограммировании и динамическом создании функций. ➡️Начнем с простого примера. Помните eval() и exec()? Это базовые инструменты метапрограммирования, но использовать их нужно с осторожностью – как острый нож в руках повара. Гораздо интереснее копнуть глубже!
def create_power_function(power):
    def power_func(x):
        return x ** power
    return power_func

# Создаём функции на лету
square = create_power_function(2)
cube = create_power_function(3)
⬆️Но это только верхушка айсберга! Настоящее веселье начинается, когда мы подключаем модуль types и функцию exec с собственным словарем namespace. Это как собирать конструктор, только вместо деталей – части функции. 🔎А вы знали, что можно создавать функции с динамическим количеством аргументов? Или генерировать методы классов на лету? Это как будто у вас есть 3D-принтер для кода!
import types

def create_dynamic_function(func_name, args, body):
    namespace = {}
    func_code = f"def {func_name}({', '.join(args)}):\n{body}"
    exec(func_code, globals(), namespace)
    return namespace[func_name]

# Магия в действии
greet = create_dynamic_function(
    "greet",
    ["name"],
    "    return f'Привет, {name}!'"
)
➡️Но помните – с большой силой приходит большая ответственность! Метапрограммирование может сделать код сложным для понимания. Используйте его мудро, когда выгода очевидна: —При создании API с повторяющимися паттернами —Для автоматизации рутинных задач —При разработке фреймворков и библиотек ➡️Отдельного внимания заслуживают декораторы – это ведь тоже метапрограммирование! Они как умные обёртки для функций, которые могут изменять их поведение. И да, их тоже можно создавать динамически! 🐍Pythoner

Автоматизация работы с самозанятыми Мы помогаем сотням компаний уйти от рутины и выстроить быстрые, удобные и безрисковые отн
Автоматизация работы с самозанятыми Мы помогаем сотням компаний уйти от рутины и выстроить быстрые, удобные и безрисковые отношения с исполнителями. - юридическая поддержка онлайн - автоматический сбор всех закрывающих - онбординг исполнителей сократится до 20 минут - моментальные выплаты на карту или р/с - подключение платформы за 1 день ⚡Проведем демонстрацию бесплатно!⚡ Узнать больше #реклама 16+ konsol.pro О рекламодателе

✈️Оператор pass в Python, возможно, является одним из наиболее непонятных для новичков. Этот оператор не делает абсолютно нич
✈️Оператор pass в Python, возможно, является одним из наиболее непонятных для новичков. Этот оператор не делает абсолютно ничего. Но почему же он тогда нужен? ➡️Плейсхолдер для будущего кода Во время разработки программы, вы можете встретить ситуации, когда вам нужно оставить пустое место для будущего кода. Вместо того чтобы оставлять комментарии, вы можете использовать оператор pass, чтобы указать на то, что здесь будет код. Это позволяет сохранить структуру программы и избежать ошибок синтаксиса. ➡️Минимальные классы и функции Оператор pass может быть полезен при создании минимальных классов или функций. В Python, класс или функция не может быть пустой. Если вы попытаетесь создать пустой класс или функцию, интерпретатор вернет ошибку. Оператор pass позволяет обойти это ограничение. ➡️Управление потоком программы Оператор pass также может быть использован для управления потоком программы. Иногда в условной конструкции if/elif/else или в цикле for/while может не быть необходимости выполнять какое-либо действие. В этих случаях можно использовать оператор pass для обозначения пустого блока. 🐍Pythoner

Мастер-класс по Python для школьников. Бесплатно! Онлайн-урок от ведущего ИТ ВУЗа страны - Университета Иннополис для ученико
Мастер-класс по Python для школьников. Бесплатно! Онлайн-урок от ведущего ИТ ВУЗа страны - Университета Иннополис для учеников 6-11 классов. 👍Бесплатно! ✅Познакомим с профессией тестировщика. ✅Научим проверять программы, находить баги. ✅На практике отработаем использование инструментов и методов тестирования. ⚡Ваш ребёнок за один час создаст автоматический тест на языке программирования Python и сможет использовать полученные знания в дальнейшем! Для участия важно знание основ программирования на Python. Помогите ребёнку освоить востребованную профессию. Регистрируйтесь! Зарегистрироваться #реклама 16+ progmatica.innopolis.university О рекламодателе

Repost from It-donor channel
Регистрируйтесь и участвуйте в неделе IT-донора С 2 по 7 декабря пройдет девятая неделя IT-донор. В прошлую акцию: ❤️ Зарегис
Регистрируйтесь и участвуйте в неделе IT-донора С 2 по 7 декабря пройдет девятая неделя IT-донор. В прошлую акцию: ❤️ Зарегистрировалось более 2600 добровольцев из 200 городов России; ❤️ Сдали почти 500 литров крови, которые помогли спасти жизни людей со всей России. И это не предел — ведь скоро стартует декабрьская акция IT-донор. Как поучаствовать в проекте? 👆 Регистрируйтесь через чат-бот IT-донора до 7 декабря включительно; ✌️ Приходите с 2 по 7 декабря сдавать кровь на станцию переливания в вашем городе. Найти ближайшую к вам станцию можно здесь. Подробнее о неделе добра и о правилах участия в акции читайте на сайте. А если у вас ещё остались вопросы, задавайте их в чате сообщества доноров из IT.

Подводим итоги года с лидерами Platform V Pangolin 17 декабря в 11:00 по мск СберТех приглашает на предновогодний ламповый он
Подводим итоги года с лидерами Platform V Pangolin 17 декабря в 11:00 по мск СберТех приглашает на предновогодний ламповый онлайн-митап с лидерами СУБД Platform V Pangolin. Pangolin – российская СУБД для высоконагруженных систем, целевая СУБД в Сбере и других крупных компаниях. О чем расскажут: - Самые крупные обновления в продукте. - Как команда продукта переоформила сертификат ФСТЭК России по 4 уровню доверия. - Обновления Platform V Kintsugi – графической консоли для управления, мониторинга и диагностики СУБД. - Старт разработки инструмента для резервного копирования и восстановления данных. - И это далеко не все Вы сможете задать свои вопросы о продуктах и оставить заявку на получение тестового дистрибутива. Ждем встречи! Зарегистрироваться #реклама 16+ platformv.sbertech.ru О рекламодателе

✈️Конструкция if __name__ == '__main__' используется для того, чтобы определить, запущен ли файл модуля напрямую или импортир
✈️Конструкция if __name__ == '__main__' используется для того, чтобы определить, запущен ли файл модуля напрямую или импортирован из другого модуля. ➡️Простой пример:
def main():

# Точка входа в программу 
if __name__ == '__main__':
    main()
➡️Эта конструкция позволяет запустить какой-нибудь код только при прямом вызове модуля, так как name будет равно 'main' только если модуль запущен напрямую. ➡️Это позволяет запускать программу полностью только когда она основная, а не импортируется в качестве модуля. 🐍Pythoner

✈️Сегодня поговорим о крутой фиче Python, которая может значительно сократить потребление памяти вашими объектами. Речь пойдё
✈️Сегодня поговорим о крутой фиче Python, которая может значительно сократить потребление памяти вашими объектами. Речь пойдёт об атрибуте slots! ➡️Для начала давайте разберемся, почему вообще возникла необходимость в slots. По умолчанию Python хранит атрибуты объектов в специальном словаре dict. Это удобно и гибко – можно добавлять новые атрибуты на лету. Но у такой роскоши есть цена: дополнительные накладные расходы на память. 🔎Представьте, что у вас миллион объектов класса User с парой атрибутов. Каждый такой объект тащит за собой словарь dict, а это прожорливая структура данных. И тут на сцену выходит наш герой – slots!
# Без slots
class User:
    def __init__(self, name, age):
        self.name = name
        self.age = age

# Со slots
class OptimizedUser:
    __slots__ = ['name', 'age']
    
    def __init__(self, name, age):
        self.name = name
        self.age = age
➡️Что даёт нам slots? Вместо создания словаря Python выделяет фиксированный массив в памяти под указанные атрибуты. Это как переход от просторного лофта к компактной студии – места меньше, зато экономия налицо! ➡️Реальные цифры? На практике использование slots может сократить потребление памяти на 30-50% для простых объектов. А при работе с миллионами инстансов экономия становится более чем существенной. ➡️Где это реально пригодится: —В больших датасетах, где у вас тысячи/миллионы однотипных объектов —В микросервисах, где важна оптимизация памяти —В системах реального времени, где каждый байт на счету —В долгоживущих процессах, обрабатывающих потоки данных ➡️Подводные камни: —Нельзя добавлять новые атрибуты после определения класса —Наследование работает не так прозрачно, как с обычными классами —Некоторые метаклассы могут конфликтовать со slots ➡️Пример реального применения:
class DataPoint:
    __slots__ = ['timestamp', 'value', 'sensor_id']
    
    def __init__(self, timestamp, value, sensor_id):
        self.timestamp = timestamp
        self.value = value
        self.sensor_id = sensor_id

# Представьте, что таких объектов у вас миллионы
data_points = [DataPoint(time.time(), random.random(), i) for i in range(1_000_000)]
🔎Про что стоит помнить: slots – это не волшебная таблетка. Используйте его там, где действительно важна оптимизация памяти и где вы уверены в неизменном наборе атрибутов. 🐍Pythoner

🐍Хотите освоить Python и работать в IT? На курсе Python Developer. Basic вы изучите один из самых востребованных языков прог
🐍Хотите освоить Python и работать в IT? На курсе Python Developer. Basic вы изучите один из самых востребованных языков программирования с нуля! 🚪Python открывает двери в мир веб-разработки, машинного обучения, data science и создания приложений. Наш курс подготовит вас к позиции junior-разработчика, а практические занятия с FastAPI и Django позволят создавать реальные проекты уже в процессе обучения. 🧹Вы научитесь писать чистый и понятный код, работать с базами данных и инструментами DevOps. Умения, которые высоко ценятся ведущими компаниями, теперь в вашем портфолио! 😎Успейте записаться на курс и получите скидку до 15%! Начните карьеру в IT и станьте частью команды разработчиков с уверенными навыками на Python. #реклама О рекламодателе

✈️Конструкция raise используется для генерации исключений. Когда в коде происходит что-то непредвиденное или некорректное — м
✈️Конструкция raise используется для генерации исключений. Когда в коде происходит что-то непредвиденное или некорректное — можно сгенерировать исключение командой raise. ➡️Основные моменты конструкции raise: —Возбуждение существующих исключений: Вы можете использовать raise без каких-либо параметров в блоке except, чтобы повторно вызвать текущее исключение. —Создание собственных исключений: Вы можете создать или вызвать собственное исключение, создав объект исключения и передав его в raise. ➡️Пример использования raise:
def divide(a, b):
    if b == 0:
        raise ValueError("Деление на ноль невозможно.")
    return a / b

try:
    result = divide(10, 0)
except ValueError as e:
    print(f"Ошибка: {e}")
⬆️В этом примере функция divide вызывает исключение ValueError, если второй аргумент равен нулю. В блоке try мы пытаемся выполнить деление, и если возникает ошибка, мы перехватываем её и выводим сообщение об ошибке. 🐍Pythoner

🐍 Начните программировать на Python - бесплатно! Курс по основам Python с наставником — напишете первый мини пет-проект в по
🐍 Начните программировать на Python - бесплатно! Курс по основам Python с наставником — напишете первый мини пет-проект в портфолио за 14 дней. 🔹 72 урока в онлайн-тренажере. 🔹 4 живых вебинара. 🔹 Закрытый telegram-чат для поддержки 24/7. 🔹 Полезные материалы с собой. А главное при поддержке наставника: попробуйте быстро, просто и без ошибок.  📍Старт курса: уже 3 декабря!

✈️Whylogs - это библиотека для логирования и анализа данных в Python. Она предназначена для легкого отслеживания метрик данны
✈️Whylogs - это библиотека для логирования и анализа данных в Python. Она предназначена для легкого отслеживания метрик данных, которые могут помочь в мониторинге и улучшении производительности моделей машинного обучения. Почему это важно? Потому что понимание ваших данных и способов их изменений со временем может существенно повлиять на качество моделей. ➡️Основные функции Whylogs: —Автоматическое извлечение метрик: Библиотека собирает метрики, такие как распределения, статистики и т.д. —Поддержка различных форматов данных: Логирование можно выполнять для различных источников данных, включая Pandas DataFrames и потоковые данные. —Интеграция с другими инструментами: Whylogs легко интегрируется с другими библиотеками и фреймворками. ➡️Пример использования Whylogs:
import whylogs as why
import pandas as pd

# Создание примера данных
data = {
    "age": [25, 30, 35, 40, 45],
    "income": [50000, 60000, 70000, 80000, 90000]
}
df = pd.DataFrame(data)

# Инициализация логгера
logger = why.logger()

# Логируем данные
logger.log_dataframe(df)

# Генерируем отчет
report = logger.report()

# Сохраняем отчет
report.save("report.whylog")

# Выводим на экран
print(report)
⬆️В этом примере мы создаем DataFrame с двумя колонками: age и income. Затем мы инициализируем Whylogs логгер, логируем наш DataFrame, генерируем и сохраняем отчет. 👀Whylogs предоставляет мощные инструменты для отслеживания и анализа данных, улучшая тем самым процесс разработки, валидации и мониторинга моделей машинного обучения. 🐍Pythoner