1.什么是python运算符?
运算符是 Python 中执行算术或逻辑计算的特殊符号。运算符操作的值称为操作数。
例1. 加法运算符
1 |
print(eval('2+3')) |
结果
1 |
5 |
这里,+ 是执行加法的运算符。 2 和 3 是操作数,5 是操作的输出。
2.算术运算符
算术运算符用于执行数学运算,如加法、减法、乘法等。
运算符 | 说明 | 实例 | 结果 |
---|---|---|---|
+ | 加 | 12.45 + 15 | 27.45 |
– | 减 | 4.56 – 0.26 | 4.3 |
* | 乘 | 5 * 3.6 | 18.0 |
/ | 除法(和数学中的规则一样) | 7 / 2 | 3.5 |
// | 整除(只保留商的整数部分) | 7 // 2 | 3 |
% | 取余,即返回除法的余数 (取模运算符) | 7 % 2 | 1 |
** | 幂运算/次方运算,即返回 x 的 y 次方 | 2 ** 4 | 16,即 24 |
例2.1 算数运算符
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
x = 15 y = 4 # Output: x + y = 19 print('x + y =',x+y) # Output: x - y = 11 print('x - y =',x-y) # Output: x * y = 60 print('x * y =',x*y) # Output: x / y = 3.75 print('x / y =',x/y) # Output: x // y = 3 print('x // y =',x//y) # Output: x ** y = 50625 print('x ** y =',x**y) |
结果
3.Python比较运算符
比较运算符用于比较值。它根据条件返回 True 或 False。
Python比较运算符
以下假设变量a为10,变量b为20:
运算符 | 描述 | 实例 |
---|---|---|
== | 等于 – 比较对象是否相等 | (a == b) 返回 False。 |
!= | 不等于 – 比较两个对象是否不相等 | (a != b) 返回 true. |
> | 大于 – 返回x是否大于y | (a > b) 返回 False。 |
< | 小于 – 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。 | (a < b) 返回 true。 |
>= | 大于等于 – 返回x是否大于等于y。 | (a >= b) 返回 False。 |
<= | 小于等于 – 返回x是否小于等于y。 | (a <= b) 返回 true。 |
以下实例演示了Python所有比较运算符的操作:
例3.2 比较运算符
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
x = 10 y = 12 print('x=',x) print('y=',y) # Output: x > y is False print('x > y is',x>y) # Output: x < y is True print('x < y is',x<y) # Output: x == y is False print('x == y is',x==y) # Output: x != y is True print('x != y is',x!=y) # Output: x >= y is False print('x >= y is',x>=y) # Output: x <= y is True print('x <= y is',x<=y) |
1 |
结果 |
4.逻辑运算符
在 Python 中,逻辑运算符用于连接多个条件(一般来讲就是关系表达式),最终的结果是一个 bool 值。
Python 的逻辑运算符主要包括 and(逻辑与)、or(逻辑或)以及 not(逻辑非)。
Python逻辑运算符语法
逻辑运算符 | 含义 | 基本格式 | 功能 |
---|---|---|---|
and | 逻辑与(简称“与”) | a and b | 只有操作数 a 和 操作数 b 都是 True 时,才返回 True,否则返回 False。 |
or | 逻辑或(简称“或”) | a or b | 只要操作数中有一个为 True,则返回 True,否则返回 False。 |
not | 逻辑非(简称“非”) | not a | 如果操作数 a 为 True,则返回 False。如果操作数 a 为 False,则返回 True。 |
例4.1 python逻辑运算符范例
1 2 3 4 5 6 |
x = True y = False print('x and y is',x and y) print('x or y is',x or y) print('not x is',not x) |
1 |
结果 |
1 2 3 |
x and y is False x or y is True not x is False |
以下是truth table
The truth table for and
is given below:
A | B | A and B |
---|---|---|
True | True | True |
True | False | False |
False | True | False |
False | False | False |
or
will result into True
if any of the operands is True
. The truth table for or
is given below:
A | B | A or B |
---|---|---|
True | True | True |
True | False | True |
False | True | True |
False | False | False |
not
operator is used to invert the truth value. The truth table for not
is given below:
A | not A |
---|---|
True | False |
False | True |
5.按位操作符
按位运算符把二进制作为操作数进行操作,把二进制看作字符串一位一位的进行操作,因此称为按位操作符。
例如:
2的二进制是10
7的二进制是111
下表示范位操作符: x = 10 = (0000 1010
)2 and y = 4 = (0000 0100
)2
Operator | Meaning | Example |
---|---|---|
> | x=0000 1010 | |
> | y=0000 0100 | |
& | AND | x & y = 0 (0000 0000 ) |
| | OR | x | y = 14 (0000 1110 ) |
~ | NOT | ~x = -11 (1111 0101 ) |
^ | XOR | x ^ y = 14 (0000 1110 ) |
>> | 按位右移 | x >> 2 = 2 (0000 0010 ) |
<< | 按位左移 | x << 2 = 40 (0010 1000 ) |
6.赋值运算符
Python 中使用赋值运算符为变量赋值。
a = 5 是一个简单的赋值运算符,它将右侧的值 5 分配给左侧的变量 a。
Python 中有各种复合运算符,例如 += 5,等价于 a = a + 5。
赋值运算符 | 举例 | 相当于 |
---|---|---|
= | x = 5 | x = 5 |
+= | x += 5 | x = x + 5 |
-= | x -= 5 | x = x – 5 |
*= | x *= 5 | x = x * 5 |
/= | x /= 5 | x = x / 5 |
%= | x %= 5 | x = x % 5 |
//= | x //= 5 | x = x // 5 |
**= | x **= 5 | x = x ** 5 |
&= | x &= 5 | x = x & 5 |
|= | x |= 5 | x = x | 5 |
^= | x ^= 5 | x = x ^ 5 |
>>= | x >>= 5 | x = x >> 5 |
<<= | x <<= 5 | x = x << 5 |
7.特殊运算符
Python 语言提供了一些特殊类型的运算符,例如身份运算符或成员运算符。
下面通过示例对其进行描述。
7.1身份运算符
is 和 is not 是 Python 中的身份运算符。它们用于检查两个值(或变量)是否位于内存的同一部分。两个变量相等并不意味着它们是相同的。
身份运算符用于比较两个对象的存储单元
运算符 | 意思 | 实例 |
---|---|---|
is | is 是判断两个操作数是否相同(引用同一个对象) | x is True |
is not | is not 是判断两个操作数不同 (引用不同对象) | x is not True |
以下实例演示了Python所有身份运算符的操作:
例7.1 身份运算符的操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
x1 = 5 y1 = 5 x2 = 'Hello' y2 = 'Hello' x3 = [1,2,3] y3 = [1,2,3] # Output: False print(x1 is not y1) # Output: True print(x2 is y2) # Output: False print(x3 is y3) |
结果
1 2 3 |
False True False |
在这里,我们看到 x1 和 y1 是具有相同值的整数,因此它们既相等又相同。 x2 和 y2(字符串)也是如此。
但是 x3 和 y3 是列表。它们相等但不相同。这是因为解释器在内存中将它们分开定位,尽管它们是相等的。
7.2成员运算符
in 和 not in 是 Python 中的成员运算符。它们用于测试值或变量是否在序列(字符串、列表、元组、集合和字典)中。
在字典中,我们只能测试键的存在,而不是值。
运算符 | 描述 | 实例 |
---|---|---|
in | 如果在指定的序列中找到值返回 True,否则返回 False。 | x 在 y 序列中 , 如果 x 在 y 序列中返回 True。 |
not in | 如果在指定的序列中没有找到值返回 True,否则返回 False。 | x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。 |
以下实例演示了Python所有成员运算符的操作:
例7.2成员运算符的操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
x = 'Hello world' y = {1:'a',2:'b'} # Output: True print('H' in x) # Output: True print('hello' not in x) # Output: True print(1 in y) # Output: False print('a' in y) |
1 |
结果 |
1 2 3 4 |
True True True False |
1 2 |
这里,“H”在 x 中,但“hello”在 x 中不存在(请记住,Python 区分大小写)。 同样,1 是键,'a' 是字典 y 中的值。因此,y 中的 'a' 返回 False。 |