Bootstrap

Python运算符

一、算数运算符

1.分类

算数运算符有“+”,“-”,“*”,“/”,“%”,“//”,“**”这7种

“%”用来求余,它通常用来判定奇数偶数或者倍数

“//”用来求商,它返回的是整数

“**”用来求某个数的次方,例如m**n就是求m的n次方

a, b = 10, 20
r = a/b
print(a+b, a-b, a*b, r, type(r))

print(a%b, b%a)

2.优先级

优先级从高到低依次为:

  1. 括号:()
  2. 幂运算:**
  3. 乘法、除法、取余运算:*、/、//、%
  4. 加法、减法运算:+、-

二、赋值运算符

赋值运算符有“=”,“+=”,“-=”,“*=”,“/=”,“%=”,“//=”,“**=”

  1. =:将右侧表达式的值赋给左侧的变量。
  2. +=:将左侧变量与右侧表达式的值相加,并将结果赋给左侧变量。
  3. -= :将左侧变量与右侧表达式的值相减,并将结果赋给左侧变量。
  4. *=:将左侧变量与右侧表达式的值相乘,并将结果赋给左侧变量。
  5. /=:将左侧变量与右侧表达式的值相除,并将结果赋给左侧变量。
  6. //=:将左侧变量与右侧表达式的值进行整数除法,并将结果赋给左侧变量。
  7. %=:将左侧变量与右侧表达式的值进行取余运算,并将结果赋给左侧变量。
  8. **=:将左侧变量的值与右侧表达式的值进行幂运算,并将结果赋给左侧变量。
    # +=
    # a = a + 10
    a += 10
    print(a)
    # -=
    # a = a - 10
    a -= 10
    print(a)
    # *=
    # a = a * 10
    a *= 10
    # /=
    # a = a / 10
    a /= 10
    # %=
    # a = a % 10
    a %= 10
    # //=
    # a = a // 10
    a //= 10
    # **=
    # a = a ** 10
    a **= 10

三、比较运算符

比较运算符有“==”,“!=”,“>”,“>=”,“<”,“<=”这六种,当字符串在比较时逐个比较字符的大小

  1. ==:用于比较两个值是否相等,返回布尔值True或False。

  2. !=:用于比较两个值是否不相等,返回布尔值True或False。

  3. >:用于比较左侧的值是否大于右侧的值,返回布尔值True或False。

  4. <:用于比较左侧的值是否小于右侧的值,返回布尔值True或False。

  5. >=:用于比较左侧的值是否大于等于右侧的值,返回布尔值True或False。

  6. <=:用于比较左侧的值是否小于等于右侧的值,返回布尔值True或False。

a, b = 10, 20
print(a <= b)
# print(a != b, a < b, a <= b, b > a, b >= a)

a, b = 10, "20"
print(a < int(b))
a, b = "x", "xyz"
print(a > b)

四、逻辑运算符

逻辑运算符有以下3种

  1. 与运算符(and):只有当所有条件都为真时,结果才为真。当左侧为真时,返回右侧。当左侧为假时,返回左侧。例如:x and y ,当x为真时,返回y。当x为假时,返回x。

  2. 或运算符(or):只要有一个条件为真,结果就为真。当左侧为真时,返回左侧。当左侧为假时,返回右侧。例如:x or y ,当x为真时,返回x。当x为假时,返回y。

  3. 非运算符(not):将真变为假,将假变为真。例如:not x

print(10 and 20)
print(10 and 0)
print(10 and "hello")

print(0 and 100)
print("" and "hello")
print(False and "hello")
print(None and True)



print(10 or 0)
print("hello" or "hi")
print(True or False)

print(0 or 10)
print(False or True)
print("" or "hello")
print(None or "hi")

print(not True, not 100, not "0", not "False")
print(not False, not 0, not "", not None)
print(not not not 10)

五、位运算符

位运算符有以下3种

  1. 按位与(&):对两个数的二进制表示进行按位与操作,结果中每个位置的值都是两个数对应位置的值中同时为1的情况下为1,否则为0。
  2. 按位或(|):对两个数的二进制表示进行按位或操作,结果中每个位置的值都是两个数对应位置的值中至少有一个为1的情况下为1,否则为0。
  3. 按位异或(^):对两个数的二进制表示进行按位异或操作,结果中每个位置的值都是两个数对应位置的值不相同时为1,相同时为0。

六、成员运算符

成员运算符有两个:in 和 not in。这些运算符用于检查一个值是否是一个序列(如字符串、列表或元组)中的成员。

in运算符用于检查一个值是否是序列中的成员,如果是,则返回True,否则返回False。

# 检查字符串中是否包含某个字符
string = "Hello World"
print("H" in string)  # True
print("X" in string)  # False

# 检查列表中是否包含某个元素
list = [1, 2, 3, 4, 5]
print(3 in list)     # True
print(6 in list)     # False

not in运算符用于检查一个值是否不是序列中的成员,如果不是,则返回True,否则返回False。

# 检查字符串中是否不包含某个字符
string = "Hello World"
print("H" not in string)  # False
print("X" not in string)  # True

# 检查列表中是否不包含某个元素
list = [1, 2, 3, 4, 5]
print(3 not in list)     # False
print(6 not in list)     # True

in 和 not in运算符可以用于任何序列类型,包括字符串、列表、元组和集合。

# 二进制表示为0011 1100
a = 60 
# 二进制表示为0000 1101
b = 13
a & b  # 12 (二进制表示为0000 1100)
a | b  # 61 (二进制表示为0011 1101)
a ^ b  # 49 (二进制表示为0011 0001)

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;