Основные операторы Python
Операторы используются для выполнения определенных операций с переменными и значениями. В Python есть много операторов, которые являются ключевыми словами или специальными символами. Значения или переменные, с которыми работают эти операторы, называются операндами.
Типы операторов Python
Операторы Python можно разделить на следующие категории.
1. Арифметические операторы
Арифметические операторы обычно работают с числами. Есть операторы для сложения, вычитания, умножения, деления, модуля и экспоненциальных операций. Некоторые из этих операторов работают и со строками. Все арифметические операторы — специальные символы.
Давайте посмотрим на пример арифметических операторов в Python.
Python поддерживает операторы сложения и умножения для строк.
2. Сравнения
Список операторов сравнения:
4. Логические
5. Операторы присваивания
Оператор присваивания (=) используется для присвоения значения левого операнда правому операнду.
Есть несколько составных операторов присваивания, которые выполняют арифметические операции между двумя операндами и затем присваивают значение левому операнду.
6. Операторы членства
Операторы членства используются для проверки наличия значения в последовательности. В Python есть два оператора членства.
Эти операторы обычно используются с условием if-else.
7. Идентификации
Операторы идентификации используются для проверки, указывают ли две переменные на одно и то же место в памяти или нет. Есть два оператора идентичности.
Приоритет
Иногда выражение содержит несколько операторов. В этом случае приоритет оператора используется для определения порядка выполнения.
В таблице ниже перечислены приоритеты операторов в порядке убывания.
Приоритет | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
** (экспонента) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Оператор | Значение | Пример |
---|---|---|
+ | добавление | 4 + 5 |
— | вычитание | 8 — 3 |
* | умножение | 5 * 5 |
/ | деление | 4 / 2 |
% | остаток от деления | 7 % 2 |
** | возведение в степень | 2 ** 3 |
// | целочисленное деление | 15 // 4 |
Операторы присваивания в Python
Операторы присваивания используются для присваивания значений переменным:
Операторы сравнения используются для сравнения двух значений:
Логические операторы используются для объединения условных операторов:
Оператор | Значение | Пример | ||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
and | Возвращает значение True если оба утверждения верны | x Операторы тождественности в Python Операторы тождественности используются для сравнения объектов. Являются ли они одним и тем же объектом с одинаковым местоположением в памяти:
Операторы принадлежности в PythonОператоры принадлежности используются для проверки того, представлена ли последовательность в объекте:
Побитовые операторы в PythonПобитовые операторы используются для работы в битовом (двоичном) формате: Операторы PythonВ этом руководстве речь пойдет об операторах языка программирования Python. Вы узнаете об арифметических, логических и битовых операторах, а также операторах сравнения, присваивания, принадлежности, тождественности и их синтаксисе. Все это будет проиллюстрировано примерами.
Введение в операторы PythonОператоры Python бывают 7 типов: Арифметические операторы PythonЭтот тип включает операторы для проведения базовых арифметических операций. Сложение (+)Складывает значение по обе стороны оператора. Вычитание (-)Вычитает значение правой стороны из значения в левой. Умножение (*)Перемножает значения с обеих сторон оператора. Деление (/)Делит значение левой стороны на значение правой. Тип данных результата деления — число с плавающей точкой. Возведение в степень (**)Возводит первое число в степень второго. Деление без остатка (//)Выполняет деление и возвращает целочисленное значение частного, убирая цифры после десятичной точки. Деление по модулю (остаток от деления) (%)Выполняет деление и возвращает значение остатка. Операторы сравненияОператоры сравнения в Python проводят сравнение операндов. Они сообщают, является ли один из них больше второго, меньше, равным или и то и то. Меньше (Этот оператор проверяет, является ли значение слева меньше, чем правое. Больше (>)Проверяет, является ли значение слева больше правого. Пример: Меньше или равно (Проверяет, является ли левая часть меньше или равной правой. Больше или равно (>=)Проверяет, является ли левая часть больше или равной правой. Равно (==)Не равно (!=)Проверяет, не равно ли значение слева правому. Оператор <> выполняет ту же задачу, но его убрали в Python 3. Операторы присваиванияОператор присваивания присваивает значение переменной. Он может манипулировать значением до присваивания. Есть 8 операторов присваивания: 1 простой и 7 с использованием арифметических операторов. Присваивание (=)Присваивает значение справа левой части. Стоит обратить внимание, что == используется для сравнения, а = — для присваивания. Сложение и присваивание (+=)То же касается и все остальных операторов присваивания. Вычитание и присваивание (-=)Вычитает значение справа из левого и присваивает его выражению слева. Деление и присваивание (/=)Делит значение слева на правое. Затем присваивает его выражению слева. Умножение и присваивание (*=)Перемножает значения обеих сторон. Затем присваивает правое левому. Деление по модулю и присваивание (%=)Выполняет деление по модулю для обеих частей. Результат присваивает левой части. Возведение в степень и присваивание (**=)Выполняет возведение левой части в степень значения правой части. Затем присваивает значение левой части. Деление с остатком и присваивание (//=)Выполняет деление с остатком и присваивает результат левой части. Это один из важных операторов Python Логические операторы PythonЭто союзы, которые позволяют объединять по несколько условий. В Python есть всего три оператора: and (и), or (или) и not (не). И (and)Если условия с двух сторон оператора and истинны, тогда все выражение целиком считается истинным. Или (or)Выражение ложно, если оба операнда с двух сторон ложные. Если хотя бы одно из них истинное, то и все выражение истинно. Не (not)Операторы принадлежностиНет в (not in)Этот оператор проверяет, НЕ является ли значение членом последовательности. Операторы тождественностиЭти операторы проверяют, являются ли операнды одинаковыми (занимают ли они одну и ту же позицию в памяти). Это (is)Это не (is not)Битовые операторы PythonЭти операторы работают над операндами бит за битом. Бинарное И (&)Бинарное ИЛИ (|)Проводит побитовую операцию or на двух значениях. Здесь or для 10 (2) и 11 (3) возвращает 11 (3). Бинарное ИЛИ НЕТ (^)Проводит побитовую операцию xor (исключающее или) на двух значениях. Здесь результатом ИЛИ НЕ для 10 (2) и 11 (3) будет 01 (1). Инвертирующий оператор (Бинарный сдвиг влево (Бинарный сдвиг вправо (>>)ВыводыВ этом уроке были рассмотрены все 7 типов операторов Python. Для каждого был предложен пример в IDE. Для понимания особенностей работы операторов нужно продолжать с ними работать, использовать в условных конструкциях и объединять. Str Python. Строки в PythonОдним из самых распространённых типов данных является строковый. Вопреки расхожему мнению, программист чаще сталкивается не с числами, а с текстом. В Python, как известно, всё является объектами. Не исключение и строки – это объекты, состоящие из набора символов. Естественно, в языке существует широкий набор инструментов для работы с этим типом данных. Строковые операторыОператоры «+» и «*» в Питоне применимы не только к числам, но и к строкам. Оператор сложения строк +Оператор «+» выполняет операцию, называемую конкатенацией, — объединение строк. Оператор умножения строк *Оператор «*» дублирует строку указанное количество раз. Это работает только с целочисленными множителями. Если умножить на ноль или отрицательное число, результатом будет пустая строка. Но лучше так не делать. Оператор принадлежности подстроки inЕсли надо проверить, содержится ли подстрока в строке, удобно пользоваться оператором “in” Так же можно использовать этот оператор с «not» для инвертирования результата. Встроенные функции строк в pythonПайтон содержит ряд удобных встроенных функций для работы со строками. Функция ord() возвращает числовое значение символа, при чём, как для кодировки ASCII, так и для UNICODE. Функция chr(n) возвращает символьное значение для данного целого числа, то есть выполняет действие обратное ord(). Функция len() возвращает количество символов в строке. Функция str() возвращает строковое представление объекта. Индексация строкСтрока является упорядоченной последовательностью символов. Другими словами, она состоит из символов, стоящих в определённом порядке. Благодаря этому, к символу можно обратиться по его порядковому номеру. Для этого надо указать номер символа в квадратных скобках. Нумерация начинается с нуля (0 – это первый символ). Попытка обращения по индексу большему чем длина строки вызовет исключение IndexError: Срезы строк В Python существует механизм срезов коллекций. Срезы позволяют обратиться к подстроке используя индексы. Для этого надо в квадратных скобках указать: [начальный индекс : конечный индекс : шаг]. Каждый из параметров является необязательным. Поскольку строка это коллекция, срезы применимы и к ней. Форматирование строкиВ Python есть функция форматирования строки, которая официально названа литералом отформатированной строки, но обычно упоминается как f-string. Главной особенностью этой функции является возможность подстановки значения переменной в строку. Чтобы это сделать с помощью f-строки необходимо: Изменение строкТип данных строка в Python относится к неизменяемым (immutable), но это почти не влияет на удобство их использования, ведь можно создать изменённую копию. Для этого есть два возможных пути: Как Вы можете видеть, данный метод не меняет строку, а возвращает изменённую копию. Встроенные методы строк в PythonПоскольку строка в Пайтон – это объект, у него есть свои методы. Методы – это те же самые функции, просто они «закреплены» за объектами определённого класса. Изменение регистра строкиЕсли Вам надо изменить регистр строки, удобно использовать один из следующих методов capitalize() переводит первую букву строки в верхний регистр, остальные в нижний. Не алфавитные символы не изменяются: lower() преобразует все буквенные символы в строчные. swapcase() меняет регистр на противоположный. title() преобразует первые буквы всех слов в заглавные upper() преобразует все буквенные символы в заглавные. Найти и заменить подстроку в строкеЭти методы предоставляют различные способы поиска в целевой строке указанной подстроки. Каждый метод в этой группе поддерживает необязательные аргументы start и end. Они задают диапазон поиска: действие метода ограничено частью целевой строки, начинающейся в позиции символа start и продолжающейся вплоть до позиции символа end, но не включая его. Если start указано, а end нет, метод применяется к части строки от start до конца. count() подсчитывает количество точных вхождений подстроки в строку. endswith() определяет, заканчивается ли строка заданной подстрокой. index() ищет в строке заданную подстроку. Этот метод идентичен find(), за исключением того, что он вызывает исключение ValueError, если подстрока не найдена. rfind() ищет в строке заданную подстроку, начиная с конца. Возвращает индекс последнего вхождения подстроки, который соответствует её началу. rindex() ищет в строке заданную подстроку, начиная с конца. Этот метод идентичен rfind(), за исключением того, что он вызывает исключение ValueError, если подстрока не найдена. startswith() определяет, начинается ли строка с заданной подстроки. Классификация строкМетоды в этой группе классифицируют строку на основе символов, которые она содержит. isalnum() возвращает True, если строка не пустая, а все ее символы буквенно-цифровые (либо буква, либо цифра). isalpha() определяет, состоит ли строка только из букв. isdigit() определяет, состоит ли строка из цифр. isidentifier() определяет, является ли строка допустимым идентификатором (название переменной, функции, класса и т.д.) Python. isidentifier() вернет True для строки, которая соответствует зарезервированному ключевому слову Пайтон, даже если его нельзя использовать. Вы можете проверить, является ли строка ключевым словом Python, используя функцию iskeyword(), которая находится в модуле keyword. Если вы действительно хотите убедиться, что строку можно использовать как идентификатор Питон, вы должны проверить, что isidentifier() = True и iskeyword() = False. islower() определяет, являются ли буквенные символы строки строчными. isprintable() определяет, состоит ли строка только из печатаемых символов. Это единственный метод данной группы, который возвращает True, если строка не содержит символов. Все остальные возвращаются False. isspace() определяет, состоит ли строка только из пробельных символов. Тем не менее есть несколько символов ASCII, которые считаются пробелами. И если учитывать символы Юникода, их еще больше: ‘\f’ и ‘\r’ являются escape-последовательностями для символов ASCII; ‘\u2005’ это escape-последовательность для Unicode. istitle() определяет, начинаются ли слова строки с заглавной буквы. isupper() определяет, являются ли буквенные символы строки заглавными. Выравнивание строк, отступыМетоды из данной группы управляют отображением строки. center() выравнивает строку по центру. Если указан необязательный аргумент fill, он используется как символ заполнения: Если строка больше или равна указанной ширине, строка возвращается без изменений: expandtabs() заменяет каждый символ табуляции (‘\t’) пробелами. По умолчанию табуляция заменяются на 8 пробелов. tabsize необязательный параметр, задающий количество пробелов. ljust() выравнивание по левому краю. lstrip() удаляет переданные в качестве аргумента символы слева. По умолчанию это пробелы. replace() заменяет вхождения подстроки в строке. Необязательный аргумент count, указывает количество замен, которое нужно осуществить: rjust() выравнивание по правому краю строки в поле. rstrip() обрезает пробельные символы. strip() удаляет символы с левого и правого края строки. Когда возвращаемое значение метода является другой строкой, как это часто бывает, методы можно вызывать последовательно: zfill() возвращает копию строки дополненную нулями слева для достижения длины строки указанной в параметре width: Если строка короче или равна параметру width, строка возвращается без изменений: Методы преобразования строки в списокМетоды в данной группе превращают строку в другой тип данных и наоборот. Эти методы возвращают или принимают коллекции (чаще всего это список). join() возвращает строку, которая является результатом конкатенации элементов коллекции и разделителя. Стоит обратить внимание что все элементы итерируемого объекта должны быть строкового типа. Так же Вы могли заметить в последнем примере, что для объединения словаря в строку метод join() использует не значения, а ключи. Если Вам нужны именно ключи, то делается это так: Сложнее ситуация, когда нужны пары ключ-значение. Здесь придётся сперва распаковать кортежи. partition() делит строку на основе разделителя (действие, обратное join). Возвращаемое значение представляет собой кортеж из трех частей: Если разделитель не найден, возвращаемый кортеж содержит строку и ещё две пустые строки: rpartition() делит строку на основе разделителя, начиная с конца. rsplit() делит строку на список из подстрок. По умолчанию разделителем является пробел. split() делит строку на список из подстрок. Ведет себя как rsplit(), за исключением того, что при указании maxsplit – максимального количества разбиений, деление начинается с левого края строки: Если параметр maxsplit не указан, между rsplit() и split() разницы нет. splitlines() делит текст на список строк и возвращает их в списке. Любой из следующих символов или последовательностей символов считается границей строки:
Заключение В этом уроке мы рассмотрели основные инструменты для работы со строками в Python. Как видите, они удобны и гибки. Есть встроенные функции и методы объекта «строка», строковые литералы. Ещё больше возможностей даёт нерассмотренный в этом уроке метод format и модуль re. Так же отдельного разговора заслуживает работа с кодировками. Следует отметить для тех, кто уже знаком с другими языками программирования: в отличие от некоторых из них, один символ в Пайтоне тоже является строкой. И изюминка напоследок. Поскольку в Питоне всё является объектом, у каждой строки тоже есть атрибуты. Теперь вы знаете какие однокоренные слова подходят к слову Как написать принадлежность в питоне, а так же какой у него корень, приставка, суффикс и окончание. Вы можете дополнить список однокоренных слов к слову "Как написать принадлежность в питоне", предложив свой вариант в комментариях ниже, а также выразить свое несогласие проведенным с морфемным разбором. |