cookie

Utilizamos cookies para mejorar tu experiencia de navegación. Al hacer clic en "Aceptar todo", aceptas el uso de cookies.

avatar

CoolPython

Канал об основах Python и хороших практиках разработки. Создаём системность в обрывочных знаниях. Тем, кто хочет понимать, что пишет!

Mostrar más
Publicaciones publicitarias
5 269
Suscriptores
Sin datos24 horas
Sin datos7 días
Sin datos30 días

Carga de datos en curso...

Tasa de crecimiento de suscriptores

Carga de datos en curso...

Генератор кортежей Генераторы списков — это конструкции вида [x for x in range(5)] # [0, 1, 2, 3, 4] Чаще всего их используют для создания списков на лету. Но можно создавать и словари, если использовать фигурные скобки и пары значений, разделенных двоеточием: {n: n**2 for n in range(5)} # {0: 0, 1: 1, 2: 4, 3: 9, 4: 16} Кортеж так создать не получится, потому что круглые скобки зарезервированы под генераторные выражения. Но если все же хочется создать кортеж на лету именно этим способом, то можно вот так: *(x for x in range(5)), # (0, 1, 2, 3, 4) То есть, распаковываем и ставим запятую, чтобы обозначить, что это кортеж. Такие дела!
Mostrar todo...
👍 54🤯 9🤩 3🥱 3🤔 2
Вопрос от студента: как использовать в map функцию с параметром? Все, кто сталкивался с map(), знают, как использовать её, если параметры не нужны. Например, с map() можно привести числа в списке к абсолютным значениям numbers = [-1, 2, -3, 4, -5] absolute_values = list(map(abs, numbers)) print(absolute_values) # [1, 2, 3, 4, 5] Или преобразовать все строки в верхнему регистру names = ["alice", "bob", "charlie", "david"] print(list(map(str.upper, names))) # ["ALICE", "BOB", "CHARLIE", "DAVID"] А что делать в случае, если map нуждается в параметре? Например, есть список numbers = [0, 0.333, 0.667, 1] и требуется округлить все числа до 1 знака после запятой, то есть, получить [0, 0.3, 0.7, 1] В какое место надо написать параметр при использовании map()? Отвечаем. Просто так это сделать не получится! Для этого понадобятся lambda-функции. В этом случае, чтобы округлить числа из списка до 1 знака после запятой, можно использовать следующий приём:
a = [0, 0.333, 0.667, 1]
result = list(map(lambda x: round(x, 1), a))
Здесь lambda x: round(x, 1) создает анонимную функцию, которая принимает аргумент x и вызывает функцию round() с параметром 1 для округления числа x до 1 знака после запятой. Затем map() применяет эту анонимную функцию ко всем элементам списка. Результатом будет новый список, содержащий округленные значения:
[0, 0.3, 0.7, 1]
Таким образом, используя map() с анонимными функциями, можно применить функцию с параметром к элементам списка и получить нужный результат.
Mostrar todo...
👍 44🥱 6 2🔥 2
try, except, finally и оператор return в Python: как работает finally при наличии return Python предоставляет механизм обработки исключений с помощью операторов try, except и finally. Когда внутри блока try возникает исключение, оно может быть перехвачено и обработано в блоке except. Кроме того, блок finally позволяет выполнять нужные вам действия независимо от того, произошло исключение или нет. Но если внутри блока finally использовать оператор return, как в примере выше, возникает особенность. Вот ещё раз пример кода из опроса: def try_with_returns(): try: return 'try clause' except: return 'exception clause' finally: return 'final clause' print(try_with_returns()) Можно ожидать, что будет выведено 'try clause' и 'final clause', однако фактически выводится только 'final clause'. Почему это происходит? Документация Python объясняет такое поведение. При наличии блока finally, код внутри него должен быть выполнен в любом случае. Поэтому если блок finally содержит return, то возвращаемое значение будет именно то, которое указано внутри блока finally, а не внутри блока try, иначе до finally интерпретатор просто не дойдет. Для лучшего понимания приведем еще один пример: def bool_return(): try: return True finally: return False print(bool_return()) В этом случае можно ожидать, что будет выведено True, но фактически выводится False. Это снова происходит из-за оператора return в блоке finally, который прерывает выполнение блока try и возвращает значение 'False'. Итак, при использовании оператора return внутри try/except/finally следует иметь в виду, что возвращаемое значение будет определено блоком finally. Если блок finally содержит оператор return, то его значение будет возвращено вместо значения из блоков выше. Дока: https://docs.python.org/3/tutorial/errors.html?highlight=try%20finally#defining-clean-up-actions
Mostrar todo...
8. Errors and Exceptions

Until now error messages haven’t been more than mentioned, but if you have tried out the examples you have probably seen some. There are (at least) two distinguishable kinds of errors: syntax error...

🔥 47🤯 7👍 2
Что будет в результате?Anonymous voting
  • try clause + final clause
  • try clause
  • exception clause
  • final clause
0 votes
🤯 33💯 2
Результатом будетAnonymous voting
  • try clause \n finally clause
  • try clause
  • exception clause
  • finally clause
0 votes
Photo unavailableShow in Telegram
Что выведет этот фрагмент кода? Ниже квиз
Mostrar todo...
2
Результат фрагмента вышеAnonymous voting
  • try clause \n finally clause
  • finally clause
  • return clause
  • try clause
0 votes
Photo unavailableShow in Telegram
Что выведет этот фрагмент кода? Ниже опрос
Mostrar todo...
Рассказали о разнице функций input и raw_input в Python2 в карточках. Читайте! Карточки подготовили вместе с @pro_python_code
Mostrar todo...
👍 28🤔 6😁 4
Держите промик на конференцию от Podlodka Crew❤️ Потому что 22 мая у подлодки стартует первая конференция по Python! Тема сезона: «Асинхронность». Эту сложную тему рассмотрят с разных сторон вместе с экспертами из Точка, ЛитРес, Novakid, winePad GmbH и других компаний. Что будет: 🟡 Вы узнаете основные принципы asyncio, способы не выстрелить себе в ногу, используя асинхронщину в продакшене; 🟡 Разберете реальные кейсы использования asyncio в проекте с CPU-bound операциями и в работе с легаси; 🟡 Обсудите с другими участниками альтернативы asyncio и их преимущества, организацию конкурентности в других серверных языках; 🟡 Разберете проблемы написания асинхронного приложения и научитесь их решать.   🚀 В первом сезоне орги сконцентрировали рекордное количество пользы. Промокод на 500 руб: python_crew_1_qooxQz успей забрать свой билет на сайте 👉 https://podlodka.io/pythoncrew
Mostrar todo...
Онлайн-конференция Podlodka Python Crew, сезон #1

Недельное мероприятие от команды Podlodka: ежедневные интерактивные сессии в Zoom по актуальным вопросам Python-индустрии, нон-стоп общение с экспертами и звёздами индустрии, закрытое профессиональное сообщество в Telegram.