算数运算符
Python中的算数运算符包括:
- 加法运算符(+):将两个数相加,或将字符串拼接起来。
- 减法运算符(-):将左边的数减去右边的数。
- 乘法运算符(*):将两个数相乘,或将字符串重复多次。
- 除法运算符(/):将左边的数除以右边的数(结果为浮点数)。
- 整除运算符(//):将左边的数除以右边的数(结果为整数)。
- 取模运算符(%):取左边的数除以右边的数的余数。
- 幂运算符(**):将左边的数的幂次方。
以下是一些例子:
a = 10
b = 3
# 加法
print(a + b) # 13
# 减法
print(a - b) # 7
# 乘法
print(a * b) # 30
# 除法
print(a / b) # 3.3333333333333335
# 整除
print(a // b) # 3
# 取模
print(a % b) # 1
# 幂
print(a ** b) # 1000
对于字符串,加法运算符(+)可以将两个字符串合并成一个:
s1 = 'hello'
s2 = 'world'
print(s1 + s2) # 'helloworld'
乘法运算符(*)则可以将一个字符串重复多次:
s = 'hello'
print(s * 3) # 'hellohellohello'
比较运算符
Python中的比较运算符用于比较两个值的大小关系,并返回True或False。常用的比较运算符有:
- 等于运算符(==):用于比较两个值是否相等。
- 不等于运算符(!=):用于比较两个值是否不相等。
- 大于运算符(>):用于比较左边的值是否大于右边的值。
- 小于运算符(<):用于比较左边的值是否小于右边的值。
- 大于等于运算符(>=):用于比较左边的值是否大于等于右边的值。
- 小于等于运算符(<=):用于比较左边的值是否小于等于右边的值。
以下是一些例子:
a = 10
b = 5
# 等于
print(a == b) # False
# 不等于
print(a != b) # True
# 大于
print(a > b) # True
# 小于
print(a < b) # False
# 大于等于
print(a >= b) # True
# 小于等于
print(a <= b) # False
比较运算符的返回值是一个布尔值,即True或False。可以将其保存到变量中,或者直接用于条件语句中。
逻辑运算符
Python中的逻辑运算符用于把两个或多个逻辑表达式连接起来,形成一个新的逻辑表达式,并返回True或False。常用的逻辑运算符有:
- 与运算符(and):用于连接两个逻辑表达式,当两个表达式都为True时,返回True,否则返回False。连接两个值时,优先返回假值,否则返回右侧真值
- 或运算符(or):用于连接两个逻辑表达式,当两个表达式都为False时,返回False,否则返回True。连接两个值时,优先返回真值,否则返回左侧假值
- 非运算符(not):用于将一个逻辑表达式的值取反,如果表达式为True,则返回False;如果表达式为False,则返回True。
优先级为not>and>or
以下是一些例子:
a = 10
b = 5
c = 0
# 与运算符
print(a and b)#5
print(a and c)#0
print(a > b and b > c) # True
print(a > b and b < c) # False
# 或运算符
print(a or b)#10
print(a or c)#10
print(a > b or b < c) # True
print(a < b or b < c) # False
# 非运算符
print(not a > b) # False
print(not b < c) # True
#
print(a or b and not c)#10
逻辑运算符的返回值是一个布尔值,即True或False。可以将其保存到变量中,或者直接用于条件语句中。
赋值运算符
Python中赋值运算符用于将一个值或表达式的结果赋值给一个变量。常见的赋值运算符有:
- 等于号(=):用于将右边的值赋值给左边的变量。
- 加等于(+=):将右边的值加上左边的变量的值,并将结果赋值给左边的变量。
- 减等于(-=):将右边的值减去左边的变量的值,并将结果赋值给左边的变量。
- 乘等于(*=):将右边的值乘以左边的变量的值,并将结果赋值给左边的变量。
- 除等于(/=):将左边的变量的值除以右边的值,并将结果赋值给左边的变量。
- 取模等于(%=):将左边的变量的值取模于右边的值,并将结果赋值给左边的变量。
- 幂等于(**=):将左边的变量的值求幂,幂的指数是右边的值,并将结果赋值给左边的变量。
- 右移等于(>>=):将左边的变量的二进制值右移,移动的位数是右边的值,并将结果赋值给左边的变量。
- 左移等于(<<=):将左边的变量的二进制值左移,移动的位数是右边的值,并将结果赋值给左边的变量。
- 位与等于(&=):将左边的变量的二进制值做位与运算,相同位置都是1,结果才是1。右边的值是位与运算的另一个运算数,并将结果赋值给左边的变量。
- 位或等于(|=):将左边的变量的二进制值做位或运算,相同位置都是0,结果才是0。右边的值是位或运算的另一个运算数,并将结果赋值给左边的变量。
- 位异或等于(^=):将左边的变量的二进制值做位异或运算,相同位置相同为0,不同为1.右边的值是位异或运算的另一个运算数,并将结果赋值给左边的变量。
以下是一些例子:
a = 10 # 等于号
print(a)#10
a=10
a += 5 # 加等于
print(a)#15
a=10
a -= 5 # 减等于
print(a)#5
a=10
a *= 2 # 乘等于
print(a)#20
a=10
a /= 2 # 除等于
print(a)#5.0
a=10
a %= 3 # 取模等于
print(a)#1
a=10
a **= 2 # 幂等于
print(a)#100
a=10
a >>= 2 # 右移等于
print(a)#2
a=10
a <<= 2 # 左移等于
print(a)#40
a=10
a &= 5 # 位与等于
print(a)#0
a=10
a |= 5 # 位或等于
print(a)#15
a=10
a ^= 5 # 位异或等于
print(a)#15
赋值运算符的返回值与左边的变量的值相同。
位运算符
Python中有六个位运算符,它们分别是:
-
按位与(&):两个二进制数的位都为1时,结果的对应位才为1,否则为0。
-
按位或(|):两个二进制数的位中只要有一个为1时,结果的对应位就为1,否则为0。
-
按位异或(^):两个二进制数的位不同时,结果的对应位才为1,否则为0。
-
按位取反(~):将一个二进制数的每个位取反,1变为0,0变为1。
-
左移(<<):将一个二进制数向左移动若干位,右边用0补齐。
-
右移(>>):将一个二进制数向右移动若干位,左边用0或1补齐,取决于它的符号位。
以下是一些例子:
a = 0b1010 # 二进制数10
b = 0b1100 # 二进制数12
c = a & b # 按位与,结果是0b1000(8)
d = a | b # 按位或,结果是0b1110(14)
e = a ^ b # 按位异或,结果是0b0110(6)
f = ~a # 按位取反,结果是-11(注意负数的表示方法)
g = b << 2 # 左移2位,结果是0b110000(48)
h = b >> 2 # 右移2位,结果是0b0011(3)
注意,在Python中,整型数据是以补码形式保存的(即采用二进制补码表示来表示负数),因此在进行位运算时需要注意符号位。
成员运算符
Python中的成员运算符用于检查一个值或变量是否属于一个集合或序列。
Python中有两个成员运算符,分别是 in
和 not in
。
in
:如果在指定的序列中找到值,则返回True
。not in
:如果在指定的序列中没有找到值,则返回True
。
以下是一些例子:
# 判断某个元素是否在列表中
my_list = [1, 2, 3, 4, 5]
print(3 in my_list) # True
print(6 in my_list) # False
# 判断某个键是否在字典中
my_dict = {'name': 'Alice', 'age': 20, 'gender': 'Female'}
print('name' in my_dict) # True
print('height' in my_dict) # False
# 判断字符串中是否包含某个子串
my_str = 'Hello, World!'
print('World' in my_str) # True
print('Python' in my_str) # False
需要注意的是,成员运算符只能用于集合或序列类型的数据,比如列表、元组、字典、字符串等。其他类型的数据如果想要判断是否相等,应该使用相应的比较运算符(如 ==
)。
身份运算符
Python中的身份运算符用于比较两个对象的内存地址是否相同。
is
:判断两个变量是否指向同一个对象,如果是则返回True
,否则返回False
。is not
:判断两个变量是否指向不同的对象,如果是则返回True
,否则返回False
。
例如:
a = [1,2,3]
b = [1,2,3]
c = a
print(a is b) # False
print(a is not b) # True
print(a is c) # True
print(a is not c) # False
在上面的例子中, a
和 c
指向同一个对象,所以使用 is
运算符比较时返回 True
。而 b
与 a
的内存地址不同,所以使用 is
运算符比较时返回 False
。Python中的身份运算符用于比较两个对象的内存地址是否相同。
is
:判断两个变量是否指向同一个对象,如果是则返回True
,否则返回False
。is not
:判断两个变量是否指向不同的对象,如果是则返回True
,否则返回False
。
例如:
a = [1,2,3]
b = [1,2,3]
c = a
print(a is b) # False
print(a is not b) # True
print(a is c) # True
print(a is not c) # False
在上面的例子中, a
和 c
指向同一个对象,所以使用 is
运算符比较时返回 True
。而 b
与 a
的内存地址不同,所以使用 is
运算符比较时返回 False
。