es
Feedback
Python_No_Panic

Python_No_Panic

Ir al canal en Telegram

Самый перспективный, полезный и ламповый канал по Python в русскоязычном телеграме! Обучающие посты в хронологическом порядке, посты по софт скиллам и чат, где вам всегда помогут админы и комьюнити. Сотрудничество: @Niik_Whaale

Mostrar más
2 146
Suscriptores
Sin datos24 horas
-37 días
-1330 días
Archivo de publicaciones
🌌 Расширенная распаковка с * и ** Python умеет красиво разбирать структуры данных на части. Пример: # Распаковка списка numb
🌌 Расширенная распаковка с * и ** Python умеет красиво разбирать структуры данных на части. Пример:

 
# Распаковка списка
numbers = [1, 2, 3, 4, 5]
head, *body, tail = numbers
print(head)  # 1
print(body)  # [2, 3, 4]
print(tail)  # 5 
💡 Как использовать ** для словарей? Вы можете объединять словари с помощью **:

dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3}
merged = {**dict1, **dict2}
print(merged)  # {'a': 1, 'b': 2, 'c': 3}

Декораторы классов и функций 🛠️ Декораторы — это магия Python, позволяющая изменять или дополнять поведение функций или клас
Декораторы классов и функций 🛠️ Декораторы — это магия Python, позволяющая изменять или дополнять поведение функций или классов. Это отличный инструмент для кэширования, логирования и контроля доступа. 🔒 🔍 Применение: 1. Логирование. 2. Управление доступом. 3. Кэширование (например, functools.lru_cache).
 
def logger(func):
    def wrapper(*args, **kwargs):
        print(f"Running {func.__name__}")
        return func(*args, **kwargs)
    return wrapper

@logger
def say_hello():
    print("Hello!")

say_hello()
🔑 Результат выполнения:
 
Hello!

Что здесь не так? Найдите баг в коде. def increment(value, step=1): return value + step data = [1, 2, 3] for i in range(len(d
Что здесь не так? Найдите баг в коде.
 
def increment(value, step=1):
    return value + step

data = [1, 2, 3]
for i in range(len(data)):
    data[i] = increment(data[i])

print(data) 
❓ Вопрос: Может ли здесь что-то пойти не так? Как сделать код более безопасным? 📌 Подсказка: Подумайте о том, что будет, если кто-то изменит increment.

🚀 Генераторы вместо списков Генераторы позволяют обрабатывать данные по одному элементу, экономя память. Это особенно важно
🚀 Генераторы вместо списков Генераторы позволяют обрабатывать данные по одному элементу, экономя память. Это особенно важно при работе с большими объемами данных. 💡 Чем генераторы лучше? 1. Они не занимают память сразу для всех элементов. 2. Работают лениво, то есть создают элементы "на лету". Пример:
 
# Генераторное выражение
gen = (x ** 2 for x in range(10**6))

print(next(gen))  # 0
print(next(gen))  # 1

# Генераторы можно использовать в цикле
for num in gen:
    if num > 100:
        break
    print(num) 
Попробуйте запустить это с обычным списком list. Ваши ресурсы быстро закончатся! 😄

Декораторы классов и функций 🛠️ Декораторы — это магия Python, позволяющая изменять или дополнять поведение функций или классов. Это отличный инструмент для кэширования, логирования и контроля доступа. 🔒 🔍 Применение: 1. Логирование. 2. Управление доступом. 3. Кэширование (например, functools.lru_cache).
 
def logger(func):
    def wrapper(*args, **kwargs):
        print(f"Running {func.__name__}")
        return func(*args, **kwargs)
    return wrapper

@logger
def say_hello():
    print("Hello!")

say_hello()
🔑 Результат выполнения:
 
Hello!

Челлендж: «Обратные слова» Привет! Вот задача на логику и строки: 🔄 Суть задачи: Напишите функцию, которая принимает строку
Челлендж: «Обратные слова» Привет! Вот задача на логику и строки: 🔄 Суть задачи: Напишите функцию, которая принимает строку и возвращает все слова в обратном порядке. Пример: Input: "Hello Python World" Output: "World Python Hello" ✅ Усложнение для профи: Сделайте так, чтобы слова выводились в обратном порядке букв внутри каждого слова. Пример: Input: "Hello Python World" Output: "Olleh Nohtyp Dlrow" 💡 Подсказки: 1. Для разделения строки на слова используйте метод .split(). 2. Попробуйте освоить срезы, например, [::-1] — это мощный инструмент в Python. 3. Чтобы сохранить пробелы в исходной строке, исследуйте методы работы с join и разделителями. Кто первый справится? Пишите свои решения и обсуждаем! 🎉

Скорость функции Какой код быстрее? # Вариант 1 result = [x**2 for x in range(10**6)] # Вариант 2 result = list(map(lambda x:
Скорость функции Какой код быстрее?
 
# Вариант 1
result = [x**2 for x in range(10**6)]

# Вариант 2
result = list(map(lambda x: x**2, range(10**6)))
❓ Вопрос: Какая из функций выполняется быстрее и почему? 📌 Подсказка: Вспомните, как работают list comprehensions и map.

📌 Динамическое изменение функций во время выполнения Python позволяет менять код на лету! Вы можете подменять реализацию фун
📌 Динамическое изменение функций во время выполнения Python позволяет менять код на лету! Вы можете подменять реализацию функций прямо во время выполнения программы. 💡 Это полезно, например, для тестирования или мока функций. Пример:
 
def greet():
    print("Hello!")

# Обычное поведение
greet()  # Hello!

# Подменяем функцию
greet = lambda: print("Hi!")
greet()  # Hi

Асинхронное программирование ⏩ Асинхронное программирование позволяет выполнять задачи одновременно без создания потоков! Это
Асинхронное программирование ⏩ Асинхронное программирование позволяет выполнять задачи одновременно без создания потоков! Это очень полезно, когда нужно обрабатывать множество запросов одновременно (например, веб-сервисы или API). 🌐 🔍 Применение: 1. Веб-сервисы с высокой нагрузкой (например, FastAPI). 2. Обработка данных и API без блокировки. 3. Массовая обработка соединений (WebSocket). Пример:
 
import asyncio

async def fetch_data():
    print("Fetching...")
    await asyncio.sleep(2)
    print("Done!")

asyncio.run(fetch_data())
🔑 Результат выполнения
 
Fetching...
Done!

Челлендж: «Генератор паролей» Привет, кодеры! Сегодня у нас задание — написать генератор надёжных паролей. Требования просты:
Челлендж: «Генератор паролей» Привет, кодеры! Сегодня у нас задание — написать генератор надёжных паролей. Требования просты: 🔑 Суть задачи: Напишите функцию, которая принимает длину пароля и создаёт случайный пароль, содержащий: 1. Заглавные и строчные буквы, 2. Цифры, 3. Специальные символы (!@#$%^&*() и т.д.). ✅ Усложнение для профи: Добавьте возможность задавать опциональные параметры: 1. Исключать похожие символы (O, 0, l, 1 и т.д.), 2. Создавать запоминающиеся пароли (например, из случайных слов). 💡 Подсказки: 1. Для работы с символами используйте модули string и random. 2. Если захочется большего, изучите возможpythoности secrets — это безопасная альтернатива для генерации случайных данных. 3. Попробуйте создать минимальный интерфейс: пусть пользователь сам решает, какие опции ему нужны! — Напиши свой генератор, поделись кодом и давай обсудим! 💬

🙊Тайна вывода Что выведет код?
 
def mystery(a, b=[]):
    b.append(a)
    return b

print(mystery(1))
print(mystery(2))
print(mystery(3)) 
❓ Вопрос: Каков результат выполнения программы? Почему? 📌 Подсказка: Вспомните про работу с изменяемыми объектами.

🐍 Однострочные функции: Лямбда Лямбда-функции (анонимные функции) позволяют создавать компактные выражения прямо в строке, г
🐍 Однострочные функции: Лямбда Лямбда-функции (анонимные функции) позволяют создавать компактные выражения прямо в строке, где они нужны. 💡 Когда использовать? 1. Если нужно создать небольшую функцию без лишнего кода. 2. Для использования внутри таких функций как map, filter, sorted. Пример:
 
# Обычная функция
def square(x):
    return x ** 2

# Эквивалент с лямбда
square = lambda x: x ** 2
print(square(5))  # 25
Пример использования с sorted:

pairs = [(1, 'one'), (3, 'three'), (2, 'two')]
pairs.sort(key=lambda pair: pair[1])  # Сортировка по второму элементу
print(pairs)  # [(1, 'one'), (3, 'three'), (2, 'two')]

📚 Метаклассы в Python 🧑‍💻 Метаклассы — это классы для создания других классов! 🛠️ Они позволяют контролировать, как созда
📚 Метаклассы в Python 🧑‍💻 Метаклассы — это классы для создания других классов! 🛠️ Они позволяют контролировать, как создаются классы, и могут добавлять новые атрибуты или изменять их поведение. Метаклассы могут быть полезны в таких случаях, как паттерн Singleton или создание API высокого уровня. 🔍 Применение: 1. Создание гибких API. 2. Валидация атрибутов классов. 3. Автоматическое добавление методов или атрибутов. Пример:
 
class Meta(type):
    def __new__(cls, name, bases, dct):
        dct['created_by'] = "Meta class"
        return super().__new__(cls, name, bases, dct)

class MyClass(metaclass=Meta):
    pass

obj = MyClass()
print(obj.created_by)  # Output: Meta class
🔑 Результат выполнения:
 
Meta class

🚀Ускорь работу своего компьютера с помощью этого 👉 канала ✔️ Уникальные секреты по настройке Windows ✔️ Лучшие сборки компь
🚀Ускорь работу своего компьютера с помощью этого 👉 канала ✔️ Уникальные секреты по настройке Windows ✔️ Лучшие сборки компьютеров на разный бюджет ✔️ Топовые подборки компьютерных комплектующих ✔️ Объяснения компьютерных терминов простыми словами 👉 Подпишись и начни разговаривать с айтишниками на их языке!

Всем привет!👋 Сегодня предлагаем вам написать программу на Python, которая обнаруживает дороги на изображении. Ваш код - как волшебное око, способное находить пути и дороги на виртуальных картах. Ссылка на проект. Поделитесь своими реакциями и комментариями! Мы с интересом узнаем, как вы реализовали обнаружение дорог с изображения. Пожелаем вам успешных поисков и точных алгоритмов! 🗺🔍

Приветствуем всех кодеров, давно не виделись! 👋 Сегодня предлагаем вам написать программу на Python, которая рисует дерево сакура. Пусть ваша программа станет цветущим символом виртуального мира! А из-за рандомайзера, ваше дерево получится уникальным и ни на чье не похожим! Ссылка на проект. Поделитесь своими реакциями и комментариями! Мы с нетерпением ждем, как вы воссоздали красоту сакуры через код. Пожелаем вам природной гармонии и эстетических пейзажей! 🌸🌳

🚀Ускорь работу своего компьютера с помощью этого 👉 канала ✔️ Уникальные секреты по настройке Windows ✔️ Лучшие сборки компь
🚀Ускорь работу своего компьютера с помощью этого 👉 канала ✔️ Уникальные секреты по настройке Windows ✔️ Лучшие сборки компьютеров на разный бюджет ✔️ Топовые подборки компьютерных комплектующих ✔️ Объяснения компьютерных терминов простыми словами 👉 Подпишись и начни разговаривать с айтишниками на их языке!

Как Junior разработчику найти свою первую работу? Легко! Ребята из codereview помогают джунам с трудоустройством👇 1. Разрабо
Как Junior разработчику найти свою первую работу? Легко! Ребята из codereview помогают джунам с трудоустройством👇 1. Разработают стратегию поиска, расскажут где искать, на какие вакансии откликаться и сколько откликов делать 2. Составят тебе крутое резюме и помогут с оформлением LInkedIn и Github, чтобы ты начал получать приглашения на собеседования 3. Каждую неделю будут проводить с тобой Mock Interview: технические и поведенческие интервью + помогут с самопрезентацией 4. Будут сами помогать тебе с поиском вакансий и организовывать собеседования в компании партнеры 5. В течение полугода будут сопровождать тебя, пока ты не получишь оффер 🔥 Самое крутое - основную часть можно оплатить после трудоустройства с первой зп! 🚀 За год они трудоустроили более 150 разработчиков, со средней зарплатой 120 тыс., которые сейчас работают в Сбере, OZON, VK, Яндекс и других IT компаниях👨🏼‍💻 👉 Оставляй заявку на бесплатную консультацию с нашим HR или Senior разработчиком ✌️Let’s go искать работу вместе!

Привет всем! 👋 Сегодня предлагаем вам написать программу на Python, которая генерирует qr код. Ваши навыки программирования могут создать интерактивный мир QR-кодов, который пригодится для различных задач. Ссылка на проект. Поделитесь своими реакциями и комментариями! Мы с интересом узнаем, как вы реализовали генерацию QR кодов. Пожелаем вам множество уникальных кодов и технологических достижений! 📱🔍

Почему на HeadHunter теперь нереально найти работу? 😰 По статистике на одну Junior вакансию приходится от 800 до 1500 кандид
Почему на HeadHunter теперь нереально найти работу? 😰 По статистике на одну Junior вакансию приходится от 800 до 1500 кандидатов. 1500 человек, Карл... А ведь может компании нужен всего один хороший джун. 🥲 Это печально, ведь работодатель разбирает только первые 50-100 откликов, а остальные 1400 — он просто не смотрит. Как искать работу в условиях такой конкуренции и что делать, чтобы тебя все-таки позвали на интервью? 🤔 Макс, основатель компании CodeReview, расскажет о том, как джунам искать работу в условиях жесткой конкуренции, какие инструменты использовать и как пробиваться на интервью? 🗓 Когда? 24 Августа, в 19:00 по мск 🎁 Стрим полностью бесплатный, а всем участникам Макс также пришлет чек-лист для оформления резюме и гитхаба. 👉 Зарегистрироваться на бесплатный вебинар можно через этого телеграм-бота. Приходи, если хочешь быстрее найти работу. До скорого! ✌️