Like most other languages, commonly used operators in python also include arithmetic operators, comparison operators, and logical operators, but there are some differences, which are introduced in detail below.
1. Arithmetic operators
Like most other languages, python also has (add ), - (subtraction), * (multiplication), / (division), and % (remainder). In addition, there are two special operators, namely // (division) and * * (power operator, or exponentiation operator).
Here, the functions of , -, * are the same as those of the calculator and will not be described again. The
% operator is also valid for floating point numbers, for example:
>>> 3.75 % 0.5 0.25 >>> 3.75 % 2 1.75 >>>
** The operator performs exponentiation (exponentiation) operations, for example:
>>> 3**2 9 >>> 2**3 8 >>>
Things to note It is the priority relationship between the ** operator and the sign (, -). ** has a higher priority than the sign on its left side and a lower priority than the sign on its right side. Or you can simply think that the ** operator has a higher priority than the plus and minus signs, because when the plus and minus signs are on the right side of it, the two symbols are together, and the plus and minus signs cannot be removed. For example:
>>> -3**2 -9 >>> 3**-2 0.1111111111111111 >>>
The two division operators / and // need to be emphasized and distinguished. In python 2.7, / is an integer divisor for the division of two integers. The calculation result only leaves the integer part and the decimal part is gone. For example:
>>> 3/2 1 >>>
If you want to execute ordinary The division, that is, to retain the decimal part of the calculation result, can be performed with floating point numbers, for example:
>>> 3.0/2 1.5 >>> 3/2.0 1.5 >>> 3/2. 1.5 >>> 3.0/2.0 1.5 >>>
In python 3, / has changed, whether it is integer division or floating point division , all floating-point divisions are performed, that is, the decimal part of the calculation result can be retained.
At the same time, another way to retain the decimal part of the calculation result in python 2 is to add a sentence from __feture__ import division before the program and execute the statement (__ in the statement is two an underscore), for example:
>>> from __future__ import division >>> 3/2 1.5 >>> 5/4 1.25 >>>
The division operation at this time is already consistent with the division operation in Python 3.
In python, // this integer division operator is also provided. It does integer division, and it also performs integer division on floating point numbers. For example:
>>> 3//2 1 >>> 3.0//2.0 1.0 >>> 5//2.0 2.0 >>>
2 . Comparison operators
Like most other languages, Python's comparison operators include <, <=, >, >=, ==, !=. Comparison operators return a Boolean value of True or False depending on whether the value of the expression is true or false. For example:
>>> 3 < 4 True >>> 3 > 4 False >>> 3 == 4 False >>> 3 != 4 True >>>
3. Logical operators
Logical operators are what we often call AND, OR, NOT, respectively in python Expressed as and, or, not.
Use logical operators to connect any expressions together and get a Boolean value. For example:
>>> 3 < 4 and 3 > 4 False >>> 3 < 4 or 3 == 4 True >>> not 3 < 4 False >>>
When using logical operators, the most important thing to pay attention to is short-circuit logic (or lazy evaluation), which means: logical operations are from left to right If it is done on the right, if the result has been determined on the left, there will be no more calculations on the right. The specific expression is as follows:
For x and y, if x is false, the value of x is returned immediately without executing y; if x is true, the value of y is returned
For x or y, if x is true, the value of x is returned immediately without executing y; if x is false, the value of y is returned
For example:
>>> a Traceback (most recent call last): File "<pyshell#21>", line 1, in <module> a NameError: name 'a' is not defined >>> 0 and a 0 >>> 0 or a Traceback (most recent call last): File "<pyshell#23>", line 1, in <module> 0 or a NameError: name 'a' is not defined >>> 6 and a Traceback (most recent call last): File "<pyshell#24>", line 1, in <module> 6 and a NameError: name 'a' is not defined >>> 6 or a 6 >>>
Since we have not defined variable a in advance, an error will be reported when executing a.
For 0 and a, since 0 is first judged to be false (generally 0 represents false in programming languages, non-0 represents true), at this time it can be determined that the entire result is false, so It will return 0 directly without executing a, so no error will be reported.
For 0 or a, first judge 0 as false. At this time, it cannot determine whether the entire result is true or false, so it will continue to execute a, so an error will be reported.
For 6 and a, first determine whether 6 is true. At this time, it cannot determine whether the entire result is true or false, so it will continue to execute a, so an error will be reported.
For 6 or, since 6 is judged to be true first, it can be determined that the entire result is true at this time, so 6 will be returned directly without executing a, so no error will be reported.
Summary: Priority of operators
Let’s summarize the priority of operators, see below Picture:
Recommended learning: Python video tutorial
The above is the detailed content of What are the commonly used operators in Python?. For more information, please follow other related articles on the PHP Chinese website!