Python 篇章(六)

一、算术运算符(常用)

  • 功能:进行相关符号的运算,不会改变变量的值
  • 值:相关的数学运算结果;(2 + 1 = 3)

1. 运算符

  • +(加)
  • -(减)
  • *(乘)
  • /(除)
  • %(取余)
  • //(取整)
  • **(求幂[次方])

2. 语法格式

  • 2 + 1
  • 2 - 1
  • 2 * 1
  • 2 / 1
  • 2 % 1
  • 2 // 1
  • 2 ** 1

3.示例

注意:在进行相关符号运算的时候,是不会修改变量值的

num1 = 5
num2 = 3
print(num1 + num2 )    # 8
print(num1 - num2 )    # 2
print(num1 * num2 )    # 15
print(num1 / num2 )    # 1.6666666666666667
print(num1 % num2 )    # 2
print(num1 ** num2 )   # 125
print(num1 // num2 )   # 1

print(num1, num2)      # 5 3 不会改变变量的值

二、赋值运算符(常用)

  • 功能:计算了等号右侧 "表达式"的值,并赋值给等号左侧的变量
  • 值:赋值结束后变量的值

1. 运算符

  • =
  • +=
  • -=
  • *=
  • **=
  • /=
  • %=
  • //=

2. 语法格式

3. 示例

  • +=
num = 1
while num <= 5:
    print("num = %d" % num)
    num += 1
  • -=
num = 5
while num > 0:
    print("num = %d" % num)
    num -= 1

三、比较运算符(常用)

  • 功能:计算 "表达式1" 和 "表达式2"的值
  • 值:如果关系成立,整个关系运算表达式的值为真,否则为假

1. 运算符

2. 语法格式

  • 表达式1 比较运算符 表达式2

3. 示例

# 成立的表达式
if 10 == 10:
    print("True")
else:
    print("False")
    
# 不成立的表达式
if 10 == 11:
    print("True")
else:
    print("False")

四、逻辑运算符(常用)

1. 逻辑与 and 运算符

1.1 格式 & 原理

  • 格式:表达式1 and 表达式2
  • 原理:两个表达式有一个是假 就为假;两个表达式都是真 才为真
    • 如果表达式1的值为真,表达式2的值为真,整体逻辑与运算表达式的值为真
    • 如果表达式1的值为真,表达式2的值为假,整体逻辑与运算表达式的值为假
    • 如果表达式1的值为假,表达式2的值为真,整体逻辑与运算表达式的值为假
    • 如果表达式1的值为假,表达式2的值为假,整体逻辑与运算表达式的值为假

1.2 短路原则

表达式1 and 表达式2 and 表达式3 and 表达式4 and .......

原理一样,无论有多少个表达式,必须要所有的表达式为真才为真,否则为假!!!

1.3 示例

# 都为真
num1 = 1 < 2
num2 = 2 == 2
if num1 and num2:
    print("*******")

# 一个真,一个假
num1 = 1 > 2
num2 = 2 == 2
if num1 and num2:
    print("*******")

2.逻辑或 or 运算符

2.1 格式 & 原理

  • 格式:表达式1 or 表达式2
  • 原理:两个表达式有一个是真 就为真;两个表达式都是假 才为假
    • 如果表达式1的值为真,表达式2的值为真,整体逻辑与运算表达式的值为真
    • 如果表达式1的值为真,表达式2的值为假,整体逻辑与运算表达式的值为真
    • 如果表达式1的值为假,表达式2的值为真,整体逻辑与运算表达式的值为真
    • 如果表达式1的值为假,表达式2的值为假,整体逻辑与运算表达式的值为假

2.2 短路原则

表达式1 or 表达式2 or 表达式3 or 表达式4 or .......

原理一样,无论有多少个表达式,只要有一个表达式是真 就为真,表达式都是假 才为假!!!

2.3 示例

num1 = 1 > 2
num2 = 2 == 2
if num3 or num4:
    print("&&&&&&&&&&")

3.逻辑非 not 运算符

3.1 格式 & 原理

  • 格式:not 表达式
  • 原理:颠倒黑白
    • 如果表达式的值为真。整体逻辑非运算表达式的值为假
    • 如果表达式的值为假。整体逻辑非运算表达式的值为真

3.2 示例

if not 0:
    print("@@@@@@@@@")

五、成员运算符(常用)

1. in 和 not in 的作用

  • 用来测试实例中包含了一系列的成员,包括字符串,列表或元组。
运算符 描述 实例
in 如果在指定的序列中找到值返回 True,否则返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in 如果在指定的序列中没有找到值返回 True,否则返回 False。 x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。

2. 示例

  • string
str1 = "lemon is a good man!"
print("good" in str1)          # True
print("good" not in str1)      # False
  • list
list1 = ["lemon", 18]
print(18 in list1)             # True
print(18 not in list1)         # False
  • tuple
tuple1 = ("lemon", 18)
print("lemon" in tuple1)       # True
print("lemon" not in tuple1)   # False

六、身份运算符(常用)

1. is 和 is not 的作用

  • 身份运算符用于比较两个对象的存储单元
    • 说白了就是判断两个标识符的内存地址是否相同
运算符 描述 实例
is is 是判断两个标识符是不是引用自同一个对象 x is y, 类似 id(x) == id(y) 。如果引用的是同一个对象则返回 True,否则返回 False
is not is not 是判断两个标识符是不是引用自不同对象 x is not y , 类似 id(a) != id(b) 。如果引用的不是同一个对象则返回结果 True,否则返回 False。

2. 示例

num1 = 100
num2 = num1
print(num1 is num2)             #True
print(num1 is not num2)         #False
print("num1_id = ", id(num1))   #num1_id =  1853852880
print("num2_id = ", id(num2))   #num2_id =  1853852880

七、三目运算符(不太常用)

1. 作用

  • 简化版的 if-else语句
  • 格式:
    • 条件成立要执行的语句 if 条件 else 条件不成立要执行的语句

2. 示例

a = 3
b = 4
c = (a * 2 if  a > b else b * a) #条件成立则执行if语句:(a * b),否则就执行else语句:(b * a)
print(c)
  • 需求:有两个变量,比较大小,如果变量1大于变量2就执行变量1 - 变量2;否则变量2 - 变量1
a1 = 19
a2 = 10
print(a1 - a2) if a1 > a2 else print(a2 - a1)

八、位 操作符(不太常用)

该运算符按二进制位对值进行操作

& 按位与:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0

| 按位或:只要对应的两个二进位有一个为1时,结果位就为1

^ 按位异或:当两对应的二进位相异时,结果为1

~ 按位取反:对数据的每个二进制位取反,即把1变为0,把0变为1

<< 右移动:运算数的各二进位全部左移若干位,由<<右边的数字指定了移动的位数,高位丢弃,低位补0

>> 右移动:左边的运算数的各二进制位全部右移若干位,>>右边的数字指定了移动的位数

print(0b110 & 0b010)  #2
print(3|2)            #3
print(3^2)            #1
print(~2)             #-3
print(1<<2)           #4
print(4>>2)           #1
1、& 按位与 运算符
# 位运算符:按位运算符是把数字看作二进制来进行计算
# 相应的位数都为1,则该位的结果为1,否则为0
print(5 & 7)    # 5
5: 101
7: 111
------
1 0 1

2、| 按位或 运算符
# 两个二进制位有一个位为1,结果为1
print(5 | 7)   # 7
5: 101
7: 111
------
1 1 1

3、 ^ 按位异或 运算符
# 二进制的两位相异时,结果为1
print(5 ^ 7)    # 2
5: 101
7: 111
------
0 1 0

4、 ~ 按位取反 运算符
# 每个二进制数据位取反,在进行转码
print(~ 5)  # 6
00000101
11111010
10000110

5、 << 左移动运算符
# 各二进制位全部左移动若干位,由<<右侧的数字决定,低位补0
print(131 << 2)   # 524
---------------
# 131:10000011
# 10000011   向左移动两位   #1000001100

6、>> 右移动运算符
# 各二进制位全部右移动若干位,由>>右侧的数字决定,低位丢弃,高位补0
print(131 >> 2)    # 32
# 131:10000011
# 10000011  向右移动两位  # 00100000

九、运算符的优先级(重点)

  • 以下表格列出了从最高到最低优先级的所有运算符
运算符 描述
** 指数 (最高优先级)
~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % // 乘,除,取模和取整除
+ - 加法减法
>> << 右移,左移运算符
& 位 'AND'
^ | 位运算符
<= < > >= 比较运算符
<> == != 等于运算符
= %= /= //= -= += *= **= 赋值运算符
is is not 身份运算符
in not in 成员运算符
not or and 逻辑运算符
posted @   ArMinLi  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示