Что означает знак процента в Python?
Это называется форматирование строк в стиле printf. Любая строка может включать в себя произвольное число особых спецификаторов форматирования, состоящих из маркерного символа(обычно % ) и набора параметров преобразования, последним из которых всегда указывается тип форматирования объекта.
Что означает процент в программировании?
Использование в информатике В Бейсике знак процента, поставленный сразу после имени переменной, означает тип данных «целое». В языке Си, а также других языках его синтаксического семейства (B, C++, D, Java и др.), знак процента обозначает операцию вычисления остатка от целочисленного деления, например 8 % 3 = 2.
Как называется знак процента?
per centum «на сотню; сотая») — одна сотая часть; обозначается знаком «%»; используется для обозначения доли чего-либо по отношению к целому. Например, 17 % от 500 кг означает 17 частей по 5 кг каждая, то есть 85 кг.
Что означает знак процента в С ++?
% — остаток от деления.
Что означает знак процента в Java?
Оператор деления по модулю — оператор mod , обозначается символом % .
Что значит %%?
Знак процента (%) — знак, чаще всего обозначающий проценты.
Что делает оператор процент?
Этот оператор возвращает остаток от деления одного числа на другое, например: ?
Для чего придумали проценты?
Слово «процент» происходит от латинского «pro centum», что буквально означает «за сотню» или «со ста». Процентами очень удобно пользоваться на практике, так как они выражают части целых чисел в одних и тех же сотых долях. Это даёт возможность упрощать расчёты и легко сравнивать части между собой и целыми.
Как записать проценты?
Процент записывается с помощью знака «%». Чтобы перевести проценты в дробь, нужно убрать знак «%» и разделить число на 100. Чтобы перевести десятичную дробь в проценты, нужно дробь умножить на 100 и добавить знак «%». Чтобы перевести обыкновенную дробь в проценты, нужно сначала превратить её в десятичную дробь.
What is the result of % in Python?
What does the % in a calculation? I can’t seem to work out what it does.
Does it work out a percent of the calculation for example: 4 % 2 is apparently equal to 0. How?
![]()
20 Answers 20
The % (modulo) operator yields the remainder from the division of the first argument by the second. The numeric arguments are first converted to a common type. A zero right argument raises the ZeroDivisionError exception. The arguments may be floating point numbers, e.g., 3.14%0.7 equals 0.34 (since 3.14 equals 4*0.7 + 0.34.) The modulo operator always yields a result with the same sign as its second operand (or zero); the absolute value of the result is strictly smaller than the absolute value of the second operand [2].
Example 1: 6%2 evaluates to 0 because there’s no remainder if 6 is divided by 2 ( 3 times ).
Example 2: 7%2 evaluates to 1 because there’s a remainder of 1 when 7 is divided by 2 ( 3 times ).
So to summarise that, it returns the remainder of a division operation, or 0 if there is no remainder. So 6%2 means find the remainder of 6 divided by 2.
![]()
Somewhat off topic, the % is also used in string formatting operations like %= to substitute values into a string:
Again, off topic, but it seems to be a little documented feature which took me awhile to track down, and I thought it was related to Pythons modulo calculation for which this SO page ranks highly.
An expression like x % y evaluates to the remainder of x ÷ y — well, technically it is "modulus" instead of "reminder" so results may be different if you are comparing with other languages where % is the remainder operator. There are some subtle differences (if you are interested in the practical consequences see also "Why Python’s Integer Division Floors" bellow).
Precedence is the same as operators / (division) and * (multiplication).
- 9 divided by 2 is equal to 4.
- 4 times 2 is 8
- 9 minus 8 is 1 — the remainder.
Python gotcha: depending on the Python version you are using, % is also the (deprecated) string interpolation operator, so watch out if you are coming from a language with automatic type casting (like PHP or JS) where an expression like ’12’ % 2 + 3 is legal: in Python it will result in TypeError: not all arguments converted during string formatting which probably will be pretty confusing for you.
[update for Python 3]
User n00p comments:
9/2 is 4.5 in python. You have to do integer division like so: 9//2 if you want python to tell you how many whole objects is left after division(4).
To be precise, integer division used to be the default in Python 2 (mind you, this answer is older than my boy who is already in school and at the time 2.x were mainstream):
In modern Python 9 / 2 results 4.5 indeed:
[update]
User dahiya_boy asked in the comment session:
Q. Can you please explain why -11 % 5 = 4 — dahiya_boy
This is weird, right? If you try this in JavaScript:
This is because in JavaScript % is the "remainder" operator while in Python it is the "modulus" (clock math) operator.
In Java and iOS -11 % 5 = -1 whereas in python and ruby -11 % 5 = 4 .
Well half of the reason is explained by the Paulo Scardine, and rest of the explanation is below here
In Java and iOS, % gives the remainder that means if you divide 11 % 5 gives Quotient = 2 and remainder = 1 and -11 % 5 gives Quotient = -2 and remainder = -1 .
Sample code in swift iOS.

But when we talk about in python its gives clock modulus. And its work with below formula
mod(-11,5) = -11 — 5 * Floor(-11/5) => -11 —
Sample code in python 3.0.

Why Python’s Integer Division Floors
I was asked (again) today to explain why integer division in Python returns the floor of the result instead of truncating towards zero like C.
For positive numbers, there’s no surprise:
But if one of the operands is negative, the result is floored, i.e., rounded away from zero (towards negative infinity):
This disturbs some people, but there is a good mathematical reason. The integer division operation (//) and its sibling, the modulo operation (%), go together and satisfy a nice mathematical relationship (all variables are integers):
(assuming a and b are >= 0).
If you want the relationship to extend for negative a (keeping b positive), you have two choices: if you truncate q towards zero, r will become negative, so that the invariant changes to 0 <= abs(r) < otherwise, you can floor q towards negative infinity, and the invariant remains 0 <= r < b. [update: fixed this para]
In mathematical number theory, mathematicians always prefer the latter choice (see e.g. Wikipedia). For Python, I made the same choice because there are some interesting applications of the modulo operation where the sign of a is uninteresting. Consider taking a POSIX timestamp (seconds since the start of 1970) and turning it into the time of day. Since there are 24*3600 = 86400 seconds in a day, this calculation is simply t % 86400. But if we were to express times before 1970 using negative numbers, the "truncate towards zero" rule would give a meaningless result! Using the floor rule it all works out fine.
Other applications I’ve thought of are computations of pixel positions in computer graphics. I’m sure there are more.
For negative b, by the way, everything just flips, and the invariant becomes:
So why doesn’t C do it this way? Probably the hardware didn’t do this at the time C was designed. And the hardware probably didn’t do it this way because in the oldest hardware, negative numbers were represented as "sign + magnitude" rather than the two’s complement representation used these days (at least for integers). My first computer was a Control Data mainframe and it used one’s complement for integers as well as floats. A pattern of 60 ones meant negative zero!
Tim Peters, who knows where all Python’s floating point skeletons are buried, has expressed some worry about my desire to extend these rules to floating point modulo. He’s probably right; the truncate-towards-negative-infinity rule can cause precision loss for x%1.0 when x is a very small negative number. But that’s not enough for me to break integer modulo, and // is tightly coupled to that.
PS. Note that I am using // instead of / — this is Python 3 syntax, and also allowed in Python 2 to emphasize that you know you are invoking integer division. The / operator in Python 2 is ambiguous, since it returns a different result for two integer operands than for an int and a float or two floats. But that’s a totally separate story; see PEP 238.
Posted by Guido van Rossum at 9:49 AM
Как вычислить процент в Python
Python, универсальный и надежный язык программирования, предлагает множество методов для выполнения математических операций, в том числе и для вычисления процентов. Цель данной статьи — дать подробное руководство по вычислению процентов в Python, уделяя особое внимание простоте и наглядности. Мы рассмотрим различные методы, обогащенные примерами, чтобы обеспечить полное понимание темы.
Основы: Вычисление процентов в Python
Вычисление процентов в Python не представляет собой ничего сложного. Для этого нужно разделить одно число на другое и умножить полученный результат на 100. Эта операция дает нам процентное отношение первого числа ко второму. Проиллюстрируем это на примере функции:
Например, если мы хотим узнать, какой процент 25 составляет от 50, то можем использовать функцию следующим образом:
Этот пример показывает, что 25 составляет 50% от 50. Аналогичным образом можно заменить цифры на любые два числа по своему выбору, чтобы вычислить процентное соотношение.
Точность имеет значение: Округление до определенных десятичных знаков
При работе с процентами часто требуется округлить результаты до определенного количества знаков после запятой. Встроенная в Python функция round() идеально подходит для этой задачи. Она принимает два параметра: число, которое нужно округлить, и количество знаков после запятой, до которого нужно округлить.
В данном примере функция round() округляет результат вычисления процента до двух знаков после запятой, что позволяет получить более точный и читаемый результат.
Обработка ошибок: Работа с исключениями ZeroDivisionError
В Python попытка деления на ноль приводит к возникновению ошибки ZeroDivisionError. Чтобы справиться с ней, мы можем использовать блок try/except. Вот как мы можем модифицировать нашу функцию calculate_percentage(), чтобы она возвращала 0 при возникновении ZeroDivisionError:
Эта модификация гарантирует, что наша функция справится с крайним случаем деления на ноль, что повышает ее устойчивость.
Понимание изменений: Вычисление процентного увеличения или уменьшения
Python также позволяет вычислять процентное увеличение или уменьшение двух чисел. Следующая функция демонстрирует, как этого добиться:
Эта функция вычитает второе число из первого, делит результат на второе число, а затем умножает на 100, получая процентное изменение. Если результат положительный, то это означает процентное увеличение, если отрицательный — процентное уменьшение.
Взаимодействие с пользователем: Вычисление процентных соотношений с помощью пользовательского ввода
Функция input() в Python позволяет принимать пользовательский ввод. Однако она всегда возвращает строку, поэтому перед выполнением вычислений необходимо преобразовать вводимое значение в число float. Вот как можно модифицировать функцию calculate_percentage(), чтобы она принимала пользовательский ввод:
Эта модификация позволяет нашей функции взаимодействовать с пользователями, что делает ее более универсальной и практичной.
Представление имеет значение: Форматирование процентных значений
Строки f в Python обеспечивают лаконичный и удобный способ встраивания выражений в строковые литералы для форматирования. С их помощью мы можем отформатировать наши процентные значения до определенного количества знаков после запятой:
В данном примере символ :.2f внутри строки f округляет процент до двух знаков после запятой, а символ % добавляет знак процента в конец строки.
Заключение
В заключение следует отметить, что в данной статье было дано исчерпывающее руководство по вычислению процентов в Python. Мы рассмотрели различные методы, включая базовое вычисление процентов, округление до определенных десятичных знаков, обработку исключений ZeroDivisionError и вычисление изменения процентов. Мы также обсудили, как принимать пользовательский ввод для этих вычислений и форматировать результаты для лучшей читабельности.
Что значит процент в информатике в пайтоне
N -й процентиль набора данных — это значение, которое отсекает первые n процентов значений данных, когда все значения отсортированы от наименьшего к наибольшему.
Например, 90-й процентиль набора данных — это значение, которое отсекает нижние 90 % значений данных от верхних 10 % значений данных.
Мы можем быстро вычислить процентили в Python, используя функцию numpy.percentile() , которая использует следующий синтаксис:
numpy.percentile (а, д)
- а: Массив значений
- q: Процентили или последовательность процентилей для вычисления, которые должны быть в диапазоне от 0 до 100 включительно.
В этом руководстве объясняется, как использовать эту функцию для расчета процентилей в Python.
Как найти процентили массива
Следующий код иллюстрирует, как найти различные процентили для заданного массива в Python:
Как найти процентили столбца DataFrame
В следующем коде показано, как найти значение 95-го процентиля для одного столбца pandas DataFrame:
Как найти процентили нескольких столбцов DataFrame
В следующем коде показано, как найти значение 95-го процентиля для нескольких столбцов в кадре данных pandas:
Обратите внимание, что мы смогли использовать функцию pandas quantile() в приведенных выше примерах для вычисления процентилей.
What is the result of % in Python?
What does the % in a calculation? I can’t seem to work out what it does.
Does it work out a percent of the calculation for example: 4 % 2 is apparently equal to 0. How?
![]()
20 Answers 20
The % (modulo) operator yields the remainder from the division of the first argument by the second. The numeric arguments are first converted to a common type. A zero right argument raises the ZeroDivisionError exception. The arguments may be floating point numbers, e.g., 3.14%0.7 equals 0.34 (since 3.14 equals 4*0.7 + 0.34.) The modulo operator always yields a result with the same sign as its second operand (or zero); the absolute value of the result is strictly smaller than the absolute value of the second operand [2].
Example 1: 6%2 evaluates to 0 because there’s no remainder if 6 is divided by 2 ( 3 times ).
Example 2: 7%2 evaluates to 1 because there’s a remainder of 1 when 7 is divided by 2 ( 3 times ).
So to summarise that, it returns the remainder of a division operation, or 0 if there is no remainder. So 6%2 means find the remainder of 6 divided by 2.
![]()
Somewhat off topic, the % is also used in string formatting operations like %= to substitute values into a string:
Again, off topic, but it seems to be a little documented feature which took me awhile to track down, and I thought it was related to Pythons modulo calculation for which this SO page ranks highly.
An expression like x % y evaluates to the remainder of x ÷ y — well, technically it is "modulus" instead of "reminder" so results may be different if you are comparing with other languages where % is the remainder operator. There are some subtle differences (if you are interested in the practical consequences see also "Why Python’s Integer Division Floors" bellow).
Precedence is the same as operators / (division) and * (multiplication).
- 9 divided by 2 is equal to 4.
- 4 times 2 is 8
- 9 minus 8 is 1 — the remainder.
Python gotcha: depending on the Python version you are using, % is also the (deprecated) string interpolation operator, so watch out if you are coming from a language with automatic type casting (like PHP or JS) where an expression like ’12’ % 2 + 3 is legal: in Python it will result in TypeError: not all arguments converted during string formatting which probably will be pretty confusing for you.
[update for Python 3]
User n00p comments:
9/2 is 4.5 in python. You have to do integer division like so: 9//2 if you want python to tell you how many whole objects is left after division(4).
To be precise, integer division used to be the default in Python 2 (mind you, this answer is older than my boy who is already in school and at the time 2.x were mainstream):
In modern Python 9 / 2 results 4.5 indeed:
[update]
User dahiya_boy asked in the comment session:
Q. Can you please explain why -11 % 5 = 4 — dahiya_boy
This is weird, right? If you try this in JavaScript:
This is because in JavaScript % is the "remainder" operator while in Python it is the "modulus" (clock math) operator.
In Java and iOS -11 % 5 = -1 whereas in python and ruby -11 % 5 = 4 .
Well half of the reason is explained by the Paulo Scardine, and rest of the explanation is below here
In Java and iOS, % gives the remainder that means if you divide 11 % 5 gives Quotient = 2 and remainder = 1 and -11 % 5 gives Quotient = -2 and remainder = -1 .
Sample code in swift iOS.

But when we talk about in python its gives clock modulus. And its work with below formula
Sample code in python 3.0.

Why Python’s Integer Division Floors
I was asked (again) today to explain why integer division in Python returns the floor of the result instead of truncating towards zero like C.
For positive numbers, there’s no surprise:
But if one of the operands is negative, the result is floored, i.e., rounded away from zero (towards negative infinity):
This disturbs some people, but there is a good mathematical reason. The integer division operation (//) and its sibling, the modulo operation (%), go together and satisfy a nice mathematical relationship (all variables are integers):
(assuming a and b are >= 0).
If you want the relationship to extend for negative a (keeping b positive), you have two choices: if you truncate q towards zero, r will become negative, so that the invariant changes to 0 <= abs(r) < otherwise, you can floor q towards negative infinity, and the invariant remains 0 <= r < b. [update: fixed this para]
In mathematical number theory, mathematicians always prefer the latter choice (see e.g. Wikipedia). For Python, I made the same choice because there are some interesting applications of the modulo operation where the sign of a is uninteresting. Consider taking a POSIX timestamp (seconds since the start of 1970) and turning it into the time of day. Since there are 24*3600 = 86400 seconds in a day, this calculation is simply t % 86400. But if we were to express times before 1970 using negative numbers, the "truncate towards zero" rule would give a meaningless result! Using the floor rule it all works out fine.
Other applications I’ve thought of are computations of pixel positions in computer graphics. I’m sure there are more.
For negative b, by the way, everything just flips, and the invariant becomes:
So why doesn’t C do it this way? Probably the hardware didn’t do this at the time C was designed. And the hardware probably didn’t do it this way because in the oldest hardware, negative numbers were represented as "sign + magnitude" rather than the two’s complement representation used these days (at least for integers). My first computer was a Control Data mainframe and it used one’s complement for integers as well as floats. A pattern of 60 ones meant negative zero!
Tim Peters, who knows where all Python’s floating point skeletons are buried, has expressed some worry about my desire to extend these rules to floating point modulo. He’s probably right; the truncate-towards-negative-infinity rule can cause precision loss for x%1.0 when x is a very small negative number. But that’s not enough for me to break integer modulo, and // is tightly coupled to that.
PS. Note that I am using // instead of / — this is Python 3 syntax, and also allowed in Python 2 to emphasize that you know you are invoking integer division. The / operator in Python 2 is ambiguous, since it returns a different result for two integer operands than for an int and a float or two floats. But that’s a totally separate story; see PEP 238.
Posted by Guido van Rossum at 9:49 AM
Что значит //, %, not in, == и другие операторы Python
Операторы – это специальные знаки, которые являются командой для интерпретатора Python по выполнению определенных задач. Они бывают абсолютно разными: арифметическими, операторами сравнения, тождественности, принадлежности и так далее. Все они имеют различные особенности, которые сегодня мы рассмотрим более подробно.
Арифметические операторы Python
Как можно догадаться из названия, арифметические операторы нужны для того, чтобы совершать несложные арифметические операции. К таковым относятся:
- Сложение. Для этого используется оператор +, который является таким же, как и известный математический знак, выполняющий эту функцию.
- Вычитание. Эта операция осуществляется с использованием знака «–».
- Умножение. В большинстве компьютерных программ данная арифметическая операция выполняется с использованием знака звездочки *. Python – не исключение.
- Деление. Для этого используется знак слэша /. Внимание! Он должен быть направлен именно в эту сторону.
- Остаток от деления. Выглядит так, как математический знак процента (%), но имеет другую функцию.
- Возведение в степень. Отличается от аналогичного знака в арифметике. Выглядит, как две звездочки, расположенные по горизонтали (**).
- Деление без остатка. Этот оператор получает исключительно целое число, округленное в меньшую сторону (так, чтобы оставался остаток). При этом он не возвращает остатка.
Теперь перейдем к описанию принципа работы этих операторов (равно, как и других). Сначала необходимо разобраться в значении слова «операнд». Это те фрагменты информации, над которыми осуществляется операция. В нашем случае – арифметическая.
Любые операнды размещаются по разные стороны оператора. В случае с математическими операторами, в большинстве случаев это будет стандартное арифметическое выражение типа a + b = c или n = a+3 .
Но оператор деления по модулю, например, будет использоваться таким образом.
То есть, каждый из описанных выше знаков ставится между операндами. А получившееся выражение может присваиваться другой переменной или же использоваться в качестве аргумента функции.
Операторы присваивания Python
Присваивание значения переменной – одна из самых распространенных операций. С ее помощью можно передавать ей необходимую информацию, которая в дальнейшем может использоваться программой. Без нее невозможно представить программирования. А для большего удобства использования количество операторов присваивания в Python очень большое.
Рассмотрим наиболее распространенные из них.
Оператор = . Это классический оператор присваивания. Обратите внимание, он не проверяет равенство операндов, за это отвечает другой оператор. Он именно используется для присваивания значений или объектов переменным.
Тем не менее, в некоторых случаях он может читаться, как знак «равно», но только если речь не идет о сравнении операндов.
Эта простая строчка кода присваивает переменной x значение 5. То есть, она может читаться, как «x равно 5». Но при этом осуществляется не констатация факта, а действие, после которого переменная x становится равной 5. А до этого действия она может как вовсе отсутствовать, так и содержать любое другое значение.
Это единственный оператор этой категории, который выполняет одно действие. Остальные же совершают сразу 2.
Оператор += . Этот оператор сначала добавляет к переменной то число, которое находится во втором операнде, а потом делает так, чтобы эта переменная имела соответствующее значение.
Это то же самое, что x = x + 3.
В целом, любой из операторов может быть заменен на аналогичное выражение, где переменная равно переменная, оператор, операнд 2. Дальше мы приведем еще несколько таких примеров для наглядности, и такая же логика будет действовать для всех операторов присваивания.
Оператор –= . Выполняет похожую операцию на ту, что делает предыдущий оператор, но при этом со знаком «минус». Он сначала берет переменную, которая стоит в первом операнде, отнимает от содержащегося в ней числе значение, расположенное в правом операнде, а потом результат присваивает этой же переменной, которая стоит в левом операнде.
На практике все значительно проще, чем может показаться, когда вы читали это правило. Оператор –= аналогичен выражению x = x-y. Просто оно более сокращенное.
Если вместо x подставить значение 2, то получится число -1, поскольку если от двух отнять 3, выйдет именно -1.
Оператор *=. Аналог предыдущих двух операторов присваивания, только выполняющий операцию умножения. Соответственно, принцип его работы аналогичный.

В целом, по такому же принципу работают все остальные операторы. Например, есть оператор деления, который также ставится перед знаком равно, а также деление по модулю, остаток от деления и так далее. Давайте приведем таблицу с описанием всех имеющихся операторов сравнения при их соединении с другими.
Операторы сравнения Python
Они используются, чтобы сопоставить операнды друг с другом и понять, они равны, или какое-то из них большее, или меньшее.
Рассмотрим существующие операторы сравнения.
Равно (==). Как и говорилось выше, этот оператор выглядит несколько иначе, чем оператор присваивания. Выглядит он, как два математических знака «равно», стоящих вместе. Он проверяет равенство двух операндов, и в случае соблюдения этого критерия возвращает значение «истина».
Не равно (!=). Также отличается от аналогичного арифметического знака в математике. Противоположный по значению оператор. Возвращает истину, если указанный выше критерий не соблюдается.
Больше, чем (>) и меньше, чем (<). Операторы, аналогичные таковым в математике.
Больше или равно (>=) и меньше или равно (<=). Аналоги соответствующих операторов в математике с несколько иным описанием.

Приведем сводную таблицу со значениями и примерами использования этих операторов.
Логические операторы Python
Предназначены для связывания объектов между собой. Используются для задания условия, при котором выполняются определенные действия или для указания критерия, при котором выполняется цикл или осуществляется выход из него. Всего существует три логических оператора в этом языке программирования
И (and). Объединяет условия между собой. Если оба критерия оказываются верными, оператор возвращает значение «истина». Если же нет, то «ложь».
ИЛИ (or). Проверяет истинность хотя бы одного из указанных операндов. Если из них есть один, который соответствует действительности, то возвращается значение «истина». Если же нет, то «ложь».
НЕ (not) . Выполняет инверсию результата вывода логического оператора или функции. То есть, истина становится ложью и наоборот.

Приведем сводную таблицу с примерами использования этих операторов, а также их значениями.
Операторы тождественности Python
Если требуется сравнить несколько объектов между собой, используются операторы тождественности. При этом они отличаются по принципу действия от операторов сравнения с тем, поскольку критерием для тождественности является нахождение операндов в одной и той же части памяти.
Есть всего два оператора тождественности:
- Выполняет сравнение, операндов, и если они являются идентичными, то возвращается значение true. Соответственно, если этот критерий не соблюдается, возвращается значение false .
is not. Противоположный по принципу работы оператор. В случае тождественности операндов друг другу возвращает false .

Приведем наглядную таблицу с описанием использования операторов тождественности в Python.
Операторы принадлежности Python
Python также умеет раскладывать объекты на составляющие и проверять, является ли один объект составной частью другого. Типичный пример использования – строки. Например, с их помощью можно проверять, является ли одна подстрока составной частью другой подстроки. Соответственно, возвращается логический результат, предусмотренный подходящим оператором.
В Python есть два оператора принадлежности – in и not in. По синтаксису они напоминают все остальные. Сначала ставится операнд 1, после этого оператор, а потом – операнд 2. И выполняют они похожие действия. Просто если строка является составной частью большей строки (или меньший объект – составляющей большего), то оператор in возвращает значение True . Если же здесь бы использовался оператор not in, то возвращаемое значение было бы False .

Приведем небольшую таблицу с примерами использования этих операторов (вернее, шаблонами), а также – их значениями.
Побитовые операторы Python
Самая сложная для понимания категория операторов. Настолько сложная, что для этого нужно отдельно рассматривать принцип работы каждого из них. Ведь каждый работает по определенным формулам. Они поддаются логике, она будет указана в таблице ниже. Тем не менее, это все равно довольно сложно.
Начнем с того, что они работают с битами. То есть, с нулями и единицами, а не привычными значениями. Например, оператор & каждый бит делает единицей лишь при условии, что каждый бит операндов на соответствующих позициях равен единице.

Вот более подробная таблица с использованием этих операторов.
Мы разобрались с самыми часто используемыми операторами в Python, а также рядом других, сфера применения которых более ограниченная. Следует отметить, что операторы – это одна из самых простых тем в программировании. Они почти не отличаются от привычных нам математических знаков, просто список символов, которые используются, несколько больше. При этом принцип их работы доступен для понимания каждому новичку. Единственное исключение – побитовые операторы, которые заслуживают отдельного рассмотрения.
Что значит процент в информатике в пайтоне
When we see a ‘%’ the first thing that comes to our mind is the “percent” but in computer language, it means modulo operation(%) which returns the remainder of dividing the left-hand operand by right-hand operand or in layman’s terms it finds the remainder or signed remainder after the division of one number by another.
Given two positive numbers, a and n, a modulo n (a % n, abbreviated as a mod n) is the remainder of the Euclidean division of a by n, where a is the dividend and n is the divisor.
The Python Modulo Operator
Basically, the Python modulo operation is used to get the remainder of a division. The modulo operator(%) is considered an arithmetic operation, along with +, –, /, *, **, //. In most languages, both operands of this modulo operator have to be an integer. But Python Modulo is versatile in this case. The operands can be either integers or floats.