Python-2.2-运算符

运算符

  • 由一个以上的值经过一系列的运算得到新值的过程就叫运算
  • 用来操作运算的符号叫运算符
  • 运算符分类
    • 算术运算符
    • 比较或者关系运算符
    • 赋值运算符
    • 逻辑运算符号
    • 位运算(二进制)
    • 成员运算符
    • 身份运算符
  • 表达式
    • 由一个或几个数字或者变量或者运算符合成第一行代码
    • 通常返回一个结果
#表达式案例
a = 1 + 2
算术运算符
  • 用来进行算术运算的符号
  • 通常用来表示加减乘除
    • 加(+)
    • 减(-)
    • 乘(*)
      • 两个乘号就是指数
      • 正常除法(/)
      • 地板除(//)
      • 取余(%)
  • python没有自增自减
#算术运算符

#加减乘跟数学意义基本一致

#加法
a = 1 + 1
print(a)

#减法
b = 9 - 1
print(b)

#乘法
c = 8 * 2
print(c)

d = 3 ** 2
print(d)
#python除法分为普通除法,地板处,取余

#正常除法
a = 9 / 2
print(a) 

#地板除,取整
b = 9 // 2 
print(b)

#取余
c = 9 % 2
print(c)

2
8
16
4.5
4
1

比较运算符
  • 对两个内容进行比较的运算符
  • 结果一定是布尔值,即True/False
# 等于 ==
a = 1==2
print(a)

# 不等于
a = 1 != 2
print(a)

#其他符号
# > , >= ,< , <=
print(1 >= 2)

False
True
False

赋值运算符
  • 把一个值放到变量
    • 赋值符号:=
    • 复杂赋值
    • 赋值的缩写
      • 所有的数学运算符都可以缩写
        • += , -= , * = , /= , //= , %= , * *= , 都是缩写
      • python里面没有 ++ ,–
# 赋值符号 = 
a = 9

# 复杂赋值
a = b = 9
a , b = 1 , 2

# 赋值的缩写 
cc = 7
cc = cc + 2
print(cc)

# 注意下面符号仅仅是一个缩写
dd = 2
dd += 2    # dd=dd+2
print(dd)

9
4

逻辑运算符
  • 对布尔类型变量或者值进行运算的符号
    • and :逻辑与
    • or :逻辑或
    • not :逻辑非
    • python里面的逻辑运算没有异或
  • 运算规则 :
    • and看做乘法,or看作加法
    • True看做1,False看做0
    • 则逻辑运算就能转换成整数数学运算
    • 最后结果如果是0则False,否则为True
  • 布尔值跟数字的转换
    • 数字转换成布尔值的时候
      • 0 = False , 其余是 True
    • 布尔值转换成数字的时候
      • True = 1 , False = 0
  • 逻辑运算的短路问题
    • 逻辑运算式,按照运算顺序计算,一旦能够确定整个式子未来的值,则不再进行计算,直接返回
# 逻辑表达举例
a = True
b = True
c = False

aa = a and b   #左边表达式可转换成 1 * 1
print(aa)

bb = a and c
print(bb)

cc = 100 and c
print(cc)


#短路问题案例1
a = True
b = True
c = False

aa = a or c and (a and b)    #转换成算术 1 + 。。。。。。。
print(aa)

True
False
False
True

# 短路问题案例2
def a():
    print('a')
    return True
def b():
    print('b')
    return True

aaa = a() and b()
print(aaa)

#字符串乘以数字,表示对这个字符串重复多少遍
print("*" * 20)
bbb = a() or b()    #短路发生
print(bbb)

a
b
True


a
True

成员运算符
  • 用来检测一个值或者变量是否在某个集合里面
    • in : 成员运算符
    • not in : 不在里面
# in 案例
a = [number * 1 for number in range(10)]
b = 10
bb = b in a
print(bb)

# not in 案例
a = [number * 1 for number in range(10)]
b = 10
bb = b not in a
print(bb)

False
True

身份运算符
  • 用来确定两个变量是否为同一值
    • is : 变量运算符
    • is not :不是
  • 对整数N \in [-5,256],解释器对他们做了单独的处理,放进了固定的内存中,不因你每次运行而改变
# is案例
a = 1
b = 1000989888
aa = a is b
print(aa)

#a,b仅仅是值一样,并不代表a,b是一个变量
a = 1000989888
b = 1000989888
aa = a is b
print(aa)

#正确理解下面案列跟上面案例的不同
#对于数字比较小的时候,python将不会开辟新的内存存储
# -5到256之间
a = 5
b = 5
ab = a is b
print(ab)

False
False
True

运算符优先级问题

  • 小括号具有最高优先级

      **  指数 (最高优先级)
      ~ + - 按位翻转,一元加号和减号(最后两个的方法名为+@和-@)
      */ % // 乘,除,取模和取整数
      - + - 加法减法
      >> << 右移,左移运算符
      & 位‘AND’
      | 位运算符
      <= < > >=  比较运算符
      <> == !=   等于运算符
      = %= /= //= -= += *= **=   赋值运算符
      is , is not      身份运算符
      in , not in      成员运算符
      not , or , and   逻辑运算符
    
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值