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

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

👉 Чат: @abyteofpython
👉 Поделиться с друзьями: @byteofpython
Download Telegram
Генерация исключений и оператор raise

Иногда возникает необходимость вручную сгенерировать то или иное исключение. Для этого применяется оператор raise. Например, сгенерируем исключение в примере:

Оператору raise передается объект BaseException - в данном случае объект Exception. В конструктор этого типа можно ему передать сообщение, которое затем можно вывести пользователю. В итоге, если number2 будет равно 0, то сработает оператор raise, который сгенерирует исключение. В итоге управление программой перейдет к блоку except, который обрабатывает исключения типа Exception.

🐍 Укус питона // 💬 Чат // #теория #исключения
Получение подстроки

При необходимости мы можем получить из строки не только отдельные символы, но и подстроку. Для этого используется следующий синтаксис:
• string[:end]: извлекается последовательность символов начиная с 0-го индекса по индекс end (не включая)
• string[start:end]: извлекается последовательность символов начиная с индекса start по индекс end (не включая)
• string[start:end:step]: извлекается последовательность символов начиная с индекса start по индекс end (не включая) через шаг step

Используем все варианты получения подстроки, смотрим код:

🐍 Укус питона // 💬 Чат // #теория #строки
Объединение строк

Одной из самых распространенных операций со строками является их объединение или конкатенация. Для объединения строк применяется операция сложения, первый пример 👀:

С объединением двух строк все просто, но что, если нам надо сложить строку и число? В этом случае необходимо привести число к строке с помощью функции str(), внимание на второй пример:

🐍 Укус питона // 💬 Чат // #теория #строки
Сравнение строк

При сравнении строк принимается во внимание символы и их регистр. Так, цифровой символ условно меньше, чем любой алфавитный символ. Алфавитный символ в верхнем регистре условно меньше, чем алфавитные символы в нижнем регистре. Например, внимание на первую часть:

Поэтому строка "1a" условно меньше, чем строка "aa". Вначале сравнение идет по первому символу. Если начальные символы обоих строк представляют цифры, то меньшей считается меньшая цифра, например, "1a" меньше, чем "2a".
Если начальные символы представляют алфавитные символы в одном и том же регистре, то смотрят по алфавиту. Так, "aa" меньше, чем "ba", а "ba" меньше, чем "ca".

Зависимость от регистра не всегда желательна, так как по сути мы имеем дело с одинаковыми строками. В этом случае перед сравнением мы можем привести обе строки к одному из регистров.
Функция lower() приводит строку к нижнему регистру, а функция upper() - к верхнему.

🐍 Укус питона // 💬 Чат // #теория #строки
👍3
Что выведет этот код?
Anonymous Quiz
70%
False, False
7%
None, None
11%
True, True
13%
True, False
👍2🤔2
Функции ord и len

Поскольку строка содержит символы Unicode, то с помощью функции ord() мы можем получить числовое значение для символа в кодировке Unicode, смотрим первую часть:

Для получения длины строки можно использовать функцию len(), вторая часть кода:

🐍 Укус питона // 💬 Чат // #теория #строки #функции
👍6
Что выведет этот код?
Anonymous Quiz
7%
4 0
52%
5 8
31%
5 IndexError
10%
4 1
Поиск в строке

С помощью выражения term in string можно найти подстроку term в строке string. Если подстрока найдена, то выражение вернет значение True, иначе возвращается значение False, смотрим пример:

🐍 Укус питона // 💬 Чат // #теория #строки
Что выведет этот код?
Anonymous Quiz
18%
[0, 2, 4, 6]
66%
[0, 2, 4]
9%
[0, 1, 2, 3, 4, 5]
7%
Runtime error
Логические значения

Тип bool представляет два логических значения: True (верно, истина) или False (неверно, ложь). Значение True служит для того, чтобы показать, что что-то истинно. Тогда как значение False, наоборот, показывает, что что-то ложно. Пример переменных данного типа, смотрим:

🐍 Укус питона // 💬 Чат // #теория #переменные #данные
2