🐍 Укус питона 🐍
2.89K subscribers
767 photos
4 videos
279 links
🐍 Канал о программировании на языке Python. Тематические уроки и лайфхаки.

👽 Админ - @it_dashka
🔊 Купить рекламу: https://telega.in/c/byteofpython

👉 Чат: @abyteofpython
👉 Поделиться с друзьями: @byteofpython
Download Telegram
🔥 Годнота: чувак запустил сайт, на котором собрано 1000 вопросов с собеседований на Python разработчика. Фишка в том что просчитана вероятность с которой вопрос буден задан и есть примеры ответов. Весь список вопросов можно посмотреть здесь
Подстановки

Еще один способ передачи форматируемых значений в строку представляет использование подстановок или специальных плейсхолдеров, на место которых вставляются определенные значения. Для форматирования мы можем использовать следующие плейсхолдеры:
• s: для вставки строк
• d: для вставки целых чисел
• f: для вставки дробных чисел. Для этого типа также можно определить через точку количество знаков в дробной части.
• %: умножает значение на 100 и добавляет знак процента
• e: выводит число в экспоненциальной записи

Общий синтаксис плейсхолдера следующий:

В зависимости от плейсхолдера можно добавлять дополнительные параметры. Например, для форматирования чисел float можно использовать следующие параметры

🐍 Укус питона // 💬 Чат // #теория #строки #форматирование
Что будет отображаться в качестве вывода на экране
Anonymous Quiz
38%
nan, nan, NAN, NAN
20%
nan, NaN, nan, NaN
42%
NaN, NaN, NaN, NaN,
Подстановки. Продолжение.

При вызове метода format в него в качестве аргументов передаются значения, которые вставляются на место плейсхолдеров:

В качестве результата метод format() возвращает новую отформатированную строку.

Форматирование целых чисел, смотрим второй пример:

Если форматируемое число больше 999, то мы можем указать в определении плейсхолдера, что мы хотим использовать запятую в качестве разделителя разрядов, третий пример:

🐍 Укус питона // 💬 Чат // #теория #строки #форматирование
Можем ли мы использовать блок else для forцикла?

например:
Anonymous Quiz
26%
Нет
74%
Да
Подстановки. Продолжение.

Плейсхолдеры можно использовать и в f-строках, смотрим пример:

Для дробных чисел, то есть таких, которые представляют тип float, перед кодом плейсхолдера после точки можно указать, сколько знаков в дробной части мы хотим вывести, второй пример:

Еще один параметр позволяет установить минимальную ширину форматируемого значения в символах, третий пример:

🐍 Укус питона // 💬 Чат // #теория #строки #форматирование
Погрузитесь в мир Python с нашим бесплатным курсом!

🎓 Включено 45 уроков, 56 упражнений в тренажере и 163 проверочных теста. Узнаете, как создавать программы, работать с условиями и функциями.

Что вы освоите:
— Составление программ из нескольких модулей.
— Анализ ошибок в коде с использованием отладочной печати.

📚 Курс охватывает основы Python: синтаксис, условия, циклы, типы данных и библиотеки. Практика на каждом шаге поможет вам уверенно использовать язык.

Начните свое обучение с бесплатного базового курса Python и вы сможете создавать несложные программы, а так же анализировать ошибки в коде!
Выберите правильную функцию, чтобы случайным образом получить 3 элемента из списка таким образом, чтобы каждый элемент списка имел разную вероятность быть выбранным.
Anonymous Quiz
30%
random.choices(numberList, weights=(10, 5, 15, 20, 50), k=3)
39%
random.choice(numberList, weights=(10, 5, 15, 20, 50), k=3)
31%
random.sample(numberList, weights=(10, 5, 15, 20, 50), k=3)
Форматирование без метода format.

Существует также еще один способ форматирования с помощью следующего синтаксиса, первый пример:

То есть в начале идет строка, которая содержит те же плейсхолдеры, которые были рассмотрены выше (за исключением плейсхолдера %), после строки ставится знак процента %, а затем список значений, которые вставляются в строку. Фактически знак процента представляют операцию, в результате которой образуется новая строка, второй пример:

Рядом с плейсхолдером указывается знак процента и в отличие от функции format здесь не требуются фигурные скобки.

Причем способы форматирования чисел здесь также применяются:

🐍 Укус питона // 💬 Чат // #теория #строки #форматирование
Какой метод мне следует использовать, чтобы случайным образом получить 4 элемента из следующего списка.
Anonymous Quiz
54%
random.choice(samplelist, 4)
46%
random.sample(samplelist, 4)
Pattern matching. Конструкция match.

Начиная с версии 3.10 в языке Python появилась такая функциональность как pattern matching (сопоставление шаблонов). Pattern matching представляет применение конструкции match, которая позволяет сопоставить выражение с некоторым шаблоном. И если выражение соответствует шаблону, то выполняются определенные действия. В этом смысле конструкция match похожа на конструкцию if/else/elif, которая выполняет определенные действия в зависимости от некоторого условия. Однако функциональность match гораздо шире - она также позволяет извлечь данные из составных типов и применить действия к различным частям объектов.

Конструкция match имеет следующее формальное определение:

🐍 Укус питона // 💬 Чат // #теория #pattern_matching #конструкции #match
👩‍💻 Как работать с паттернами проектирования в Python?

Расскажет Станислав Ступников — руководитель разработки в VK.

 Встречаемся на бесплатном практическом уроке от OTUS, где мы:

▫️займемся классификацией паттернов;
▫️покажем, насколько хорошо и ровно они транслируются в мир Python-разработки;
▫️ обсудим, как с ними работать. 

📢  Занятие пройдёт 28 февраля в 20:00 мск и будет приурочено к старту курса «Python Developer. Professional». Доступна рассрочка на обучение!

⬇️ Пройдите короткий тест прямо сейчас, чтобы занять место на открытом уроке и получить запись: пройти тест
Pattern matching. Конструкция match. Продолжение.

После ключевого слова match идет сравниваемое выражение. И затем после двоеточия на последующих строках располагаются выражения case. После каждого выражения case указывается шаблон, с которым сравнивается выражение из match. После шаблона через двоеточие указываются набор выполняемых действий блока case.

Конструкция match последовательно сравнивает выражение с шаблонами из блоков case. И если был найден шаблон из какого-нибудь блока case соответствует выражению из match, то выполняются инструкции из данного блока case.

В качестве паттернов/шаблонов, с которыми сравниваются выражения, могут применяться как данные примитивных типов, так и последовательности элементов и объектов классов.

Вначале рассмотрим ситуацию, когда в качестве шаблона выступают литералы примитивных типов. Например, в зависимости от языка выведем приветственное сообщение:

🐍 Укус питона // 💬 Чат // #теория #pattern_matching #конструкции #match