Python学习第二天

运算和运算符

        Python 提供了丰富的运算符,用于执行各种数学运算、逻辑运算、比较运算等。以下是 Python 中常用的运算符及其用法。(一定要自己敲一次最好不要粘贴,粘贴毫无意义,眼过十遍不如手过一遍,大佬随意)

算术运算符

        用于执行基本的数学运算。

运算符 描述 示例 结果
+ 加法 3 + 2 5
- 减法 5 - 2 3
* 乘法 3 * 2 6
/ 除法 10 / 2 5.0
// 整除(取整) 10 // 3 3
% 取余(取模) 10 % 3 1
** 幂运算 2 ** 3 8
# 加法 + addition
addition1 = 3
addition2 = 2
print(addition1,addition2,"加法运算结果:",addition1+addition2)

# 减法 - subtraction
subtraction1 = 5
subtraction2 = 2
print(subtraction1,subtraction2,"减法运算结果:",subtraction1-subtraction2)

# 乘法 * multiplication
multiplication1 = 3
multiplication2 = 2
print(multiplication1,multiplication2,"乘法运算结果:",multiplication1*multiplication2)

# 除法 / division
division1 = 10
division2 = 2
print(division1,division2,"除法运算结果:",division1/division2)

# 整除(取整) // rounding
rounding1 = 10
rounding2 = 3
print(rounding1,rounding2,"整除(取整)运算结果:",rounding1//rounding2)

# 取余(取模) % modulo
modulo1 = 10
modulo2 = 3
print(modulo1,modulo2,"取余(取模)运算结果:",modulo1 % modulo2)

# 幂运算	 ** exponentiation
exponentiation1 = 2
exponentiation2 = 3
print(exponentiation1,exponentiation2,"幂运算运算结果:",exponentiation1 ** exponentiation2)
'''
    输出结果
    3 2 加法运算结果: 5
    5 2 减法运算结果: 3
    3 2 乘法运算结果: 6
    10 2 除法运算结果: 5.0
    10 3 整除(取整)运算结果: 3
    10 3 取余(取模)运算结果: 1
    2 3 幂运算运算结果: 8
'''

比较运算符

        用于比较两个值,返回布尔值(True 或 False)。

运算符 描述 示例 结果
== 等于 3 == 2 False
!= 不等于 3 != 2 True
> 大于 3 > 2 True
< 小于 3 < 2 False
>= 大于等于 3 >= 3 True
<= 小于等于 3 <= 2 False
# 比较运算符 compare
compare_dim1 = 3
compare_dim2 = 2
print("运算符等于运算结果",compare_dim1==compare_dim2)
print("运算符不等于运算结果",compare_dim1!=compare_dim2)
print("运算符大于运算结果",compare_dim1>compare_dim2)
print("运算符小于运算结果",compare_dim1=compare_dim2)
print("运算符小于等于运算结果",compare_dim1<=compare_dim2)
'''
    输出结果
    运算符等于运算结果 False
    运算符不等于运算结果 True
    运算符大于运算结果 True
    运算符小于运算结果 False
    运算符大于等于运算结果 True
    运算符小于等于运算结果 False
'''

逻辑运算符

        用于组合多个条件,返回布尔值(True 或 False)。

运算符 描述 示例 结果
and 逻辑与 True and False False
or 逻辑或 True or False True
not 逻辑非 not True False
#逻辑运算符 logic
logic1 = 1==1
logic2 = 2==1
print("逻辑运算符and运算结果",logic1 and logic2)
print("逻辑运算符or运算结果",logic1 or logic2)
print("逻辑运算符not运算结果", not logic2)
'''
    输出结果
    逻辑运算符and运算结果 False
    逻辑运算符or运算结果 True
    逻辑运算符not运算结果 True
'''

赋值运算符

        用于为变量赋值或进行运算后赋值。

运算符 描述 示例 等价于
= 赋值 x = 5 x = 5
+= 加后赋值 x += 2 x = x + 2
-= 减后赋值 x -= 2 x = x - 2
*= 乘后赋值 x *= 2 x = x * 2
/= 除后赋值 x /= 2 x = x / 2
//= 整除后赋值 x //= 2 x = x // 2
%= 取余后赋值 x %= 2 x = x % 2
**= 幂运算后赋值 x **= 2 x = x ** 2
# 赋值运算符 =
assignment1 = 5
print('直接赋值结果:',assignment1)
# 赋值运算符 需要注意不能直接写 assignment2 += 2 需要提前定义assignment2 = 2 否则会显示未定义
assignment2 = 2
assignment2 += 2
print('+=赋值结果:',assignment2)
# 赋值运算符 需要注意不能直接写 assignment3 -= 2 需要提前定义assignment3 = 2 否则会显示未定义
assignment3 = 2
assignment3 -= 2
print('-=赋值结果:',assignment3)
# 赋值运算符 需要注意不能直接写 assignment4 *= 2 需要提前定义assignment4 = 2 否则会显示未定义
assignment4 = 2
assignment4 -= 2
print('*=赋值结果:',assignment4)
# 赋值运算符 需要注意不能直接写 assignment4 *= 2 需要提前定义assignment4 = 2 否则会显示未定义
assignment4 = 2
assignment4 -= 2
print('*=赋值结果:',assignment4)
# 赋值运算符 需要注意不能直接写 assignment5 /= 2 需要提前定义assignment5 = 2 否则会显示未定义
assignment5 = 2
assignment5 /= 2
print('/=赋值结果:',assignment5)
# 赋值运算符 需要注意不能直接写 assignment6 //= 2 需要提前定义assignment6 = 2 否则会显示未定义
assignment6 = 2
assignment6 //= 2
print('//=赋值结果:',assignment6)
# 赋值运算符 需要注意不能直接写 assignment7 //= 2 需要提前定义assignment7 = 2 否则会显示未定义
assignment7 = 10
assignment7 %= 2
print('%=赋值结果:',assignment6)

# 赋值运算符 需要注意不能直接写 assignment8 **= 2 需要提前定义assignment8 = 2 否则会显示未定义
assignment8 = 2
assignment8 **= 2
print('**=赋值结果:',assignment8)

'''
    输出结果   
    直接赋值结果: 5
    +=赋值结果: 4
    -=赋值结果: 0
    *=赋值结果: 0
    *=赋值结果: 0
    /=赋值结果: 1.0
    //=赋值结果: 1
    %=赋值结果: 1
    **=赋值结果: 4
'''

位运算符

        用于对二进制数进行操作。

        首先看下二进制位运算怎么计算在学习10进制的位运算就很好理解了(进制转化点击链接查看文章即可)

运算名称 符号 规则 示例(均以0001和0010为例 即1和2)
与(AND) & 两位都为1时结果为1,否则为0。 0001 & 0010 = 0000
(1 & 2 = 0)
或(OR) | 任一位为1时结果为1,否则为0。 0001 | 0010 = 0011
(1 | 2 = 3)
异或(XOR) ^ 两位不同时结果为1,否则为0。 0001 ^ 0010 = 0011
(1 ^ 2 = 3)
非(NOT) ~ 每位取反(0变1,1变0)。
(注意:结果取决于二进制位数和计算机的表示方式。)

~0001 = 1010

  • Python 的整数是 无限精度 的,因此按位取反的结果会根据整数的位数而变化。

  • 对于任意整数 n,按位取反的结果是 -(n + 1)

左移(Left Shift) << 将所有位向左移动,右侧补0。 1 << 2 = 8
右移(Right Shift) >> 将所有位向右移动,左侧补0(逻辑右移)或补符号位(算术右移)。 1010 >> 1 = 0101
(10 >> 1 = 5)
运算符 描述 示例 结果
& 按位与 1 & 2 0

|

按位或 1|2 3
^ 按位异或 1 ^ 2 3
~ 按位取反 ~1 -2
<< 左移 1 << 2 4
>> 右移 8 >> 2 2
# 位运算 按位与 两位都为1时结果为1,否则为0。
bitwise1 = 1  # 二进制表示:0001
bitwise2 = 2  # 二进制表示:0010
result = bitwise1 & bitwise2 # 二进制表示:0000
print('1 & 2按位与结果:',result)

# 位运算 按位或 任一位为1时结果为1,否则为0。
bitwise1 = 1  # 二进制表示:0001
bitwise2 = 2  # 二进制表示:0010
result = bitwise1 | bitwise2  # 二进制表示:0011
print('1 | 2按位或结果:',result)

# 位运算 异或 两位不同时结果为1,否则为0。
bitwise1 = 1  # 二进制表示:0001
bitwise2 = 2  # 二进制表示:0010
result = bitwise1 ^ bitwise2 # 二进制表示:0011
print('1 ^ 2异或结果:',result)

# 位运算 非 每位取反(0变1,1变0)(注意:结果取决于二进制位数和计算机的表示方式。) 注意了  一定要去看补码按位取反
bitwise1 = 1  # 二进制表示:0001
result = ~bitwise1 # 二进制表示:1010
print('1非结果:',result)


# 位运算 左移 将所有位向左移动,右侧补0
bitwise1 = 1 << 2
print('1左移2位结果:',bitwise1)

# 位运算 右移 将所有位向右移动,左侧补0(逻辑右移)或补符号位(算术右移)。
bitwise1 = 8 >> 2
print('8右移2位结果:',bitwise1)

'''
    输出结果
    1 & 2按位与结果: 0
    1 | 2按位或结果: 3
    1 ^ 2异或结果: 3
    1非结果: -2
    1左移2位结果: 4
    8右移2位结果: 2
'''

身份运算符

        用于比较两个对象的内存地址是否相同。

运算符 描述 示例 结果
is 是同一个对象 a is b False
is not 不是同一个对象 a is not b True
# 身份运算符 is 与 is not
identity1 ='aa'
identity2 = 'aa'
identity3 = identity1 is identity2
print(identity3) # True

identity3 = identity1 is  not identity2
print(identity3) # False

运算符优先级

优先级 运算符 描述
1 () 括号(最高优先级)
2 ** 指数运算
3 ~ 按位取反
4 +(正号), -(负号) 正负号
5 *///% 乘法、除法、整除、取模
6 +- 加法、减法
7 <<>> 左移、右移
8 & 按位与
9 ^ 按位异或
10 | 按位或
11 ==!=><>=<= 比较运算符
12 isis not 身份运算符
13 not 逻辑非
14 and 逻辑与
15 or 逻辑或
16 = 赋值运算符

你可能感兴趣的:(Python学习,学习)