1.什么是python运算符?
运算符是 Python 中执行算术或逻辑计算的特殊符号。运算符操作的值称为操作数。
例1. 加法运算符
print(eval('2+3'))
结果
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 算数运算符
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 比较运算符
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)
结果
4.逻辑运算符
逻辑运算符是 and,or,not 运算符。
在 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逻辑运算符范例
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)
结果
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 身份运算符的操作
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)
结果
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成员运算符的操作
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)
结果
True
True
True
False
这里,“H”在 x 中,但“hello”在 x 中不存在(请记住,Python 区分大小写)。 同样,1 是键,'a' 是字典 y 中的值。因此,y 中的 'a' 返回 False。