python基础语法学习笔记(二):表达式与运算符

1.表达式

  • 由一个或者几个数字或者变量和运算符组合成的一行代码
  • 通常会返回一个结果

2.运算符

  • 由一个以上的值经过变化得到新值的过程就叫运算
  • 用于运算的符号叫运算符
  • 运算符分类:
    • 算数运算符
    • 比较或者关系运算符
    • 赋值运算符
    • 逻辑运算符
    • 位运算
    • 成员运算
    • 身份运算符

2.1 算数运算符

  • 进行算数运算的符号
  • python没有自增自减运算符
# +,-跟正常算术运算符一模一样
a = 9+3-2
print(a)
# 乘号用星号(*)代替
a = 9 * 4
print(a)
# 除号用斜杠(/)代替

a = 9/4
print(a) # 2.25


# % 取余运算
# 两个数字相除应该有商数有余数
# % 只会得到余数
a = 9 % 4
print(a)# 1

# // 表示取商运算,也叫地板除
a = 9 // 4#2
print(a)

# ** 表示幂运算
a = 9 ** 4#6561
print(a)

a = 3 ** 3
print(a)

2.2比较运算符

  • 对两个变量或者值进行比较的运算符
  • 返回布尔值,True/False
# == , 等于号
a = 3 ** 4
# 下面语句执行书序是
# 1, 计算 a == 80
# 2. 把结果放入b中
b = a == 80
print(b)
# 返回False
# != 不等于
print( 9 != 8 )
# 返回Ture
# > 大于
# < 小于
# >= 大于等于
# <= 小于等于

2.3赋值运算符

  • 例如a +=1 表示 a = a+1,常用于循环中
a = 0
c = a = 4
a += 1
print(a)
### 返回5

2.4 逻辑运算符

  • 对布尔值进行计算
  • and :与 &
  • or :或 |
  • not :非
  • python中逻辑运算没有异或运算
  • 运算规则:
    • and看做乘法, or看做加法,
    • True看做1, False看做0
    • 则逻辑运算就能转换成整数数学运算
    • 最后结果如果是0则为False, 否则为True
  • 逻辑运算的短路问题
    • 逻辑运算式,按照运算顺序计算,一旦能够确定整个式子未来的值,则不再进行计算,直接返回,例如在or运算中,一旦前面出现了True直接返回True不再计算后续值。
# 逻辑运算符案例
a = True
b = False
c = True

# 以下式子等价于 d = 1 * 0 + 1
d = a and b or c
print(d) # 返回True

d = a or b and a
print(d) # 返回True
# 逻辑运算的短路案例

# 下面的逻辑表达式,a的值一定是True,则运行到or的时候,整个表达式不在向下计算
a = True or 0

# 代码示例)下面表达式的b值一定是Falese,运行到and时,整个表达式再向下进行
b = False and 0 and 1 and 0 and True
print(b)
print(a)

2.5成员运算符号

  • 用来检测某一个变量是否是另一个变量的成员
  • in
  • not in
l = [1,2,3,4,5]
a = 7
b = a in l
print(b) # False
a = 4
print(a in l) # True
print(a not in l)# False

2.6身份运算

  • is: 用来检测两个变量是否是同一个变量
    – 语法就是 var1 is var2
  • is not: 两个变量不是同一个变量
a = 9
b = 9
print( a is b)
True
a = "皮卡丘"
b = "皮卡丘"
print( a is b)
False

运算符的优先级问题

  • 永远记住,括号具有最高优先级

  • 优先级表格

      **  指数 (最高优先级)
      ~ + -   按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
      * / % //    乘,除,取模和取整除
      + - 加法减法
      >> <<   右移,左移运算符
      &   位 'AND'
      ^ | 位运算符
      <= < > >=   比较运算符
      <> == !=    等于运算符
      = %= /= //= -= += *= **=    赋值运算符
      is is not   身份运算符
      in not in   成员运算符
      not or and  逻辑运算符
    
posted @ 2022-08-27 11:09  JOJO数据科学  阅读(179)  评论(0编辑  收藏  举报