运算符

算数运算符

#运算符

- 由一个以上的值经过一些列的运算得到新值的过程叫做运算

- 用来操作运算的符号叫做运算符

- 运算符的分类

  - 算数运算符

  - 赋值运算符

  - 比较或者关系运算符

  - 逻辑运算符号

  -  位运算

  - 成员运算符

  - 身份运算符

#算数运算符

- 用来进行算数运算的符号

- 通常来表示加减乘除

- python没有自增自减运算符

复制代码

#算数运算符案例
#加减乘跟数学基本一致
a = 9-2
print(a)  #7
b = 8 + 5
print(b)  #13
c = 2 * 6
print(c)  #12

复制代码

#python的出发分为普通除法,地板除,取余
#普通除法
d = 9 / 2
print(d)  #2.7版本与3.x版本略有不同,2.7直接取整,3.x运算结果为4.5

#地板除
e = 9 // 2 
print(e)   #4

#取余
f = 9 % 2
print(e)  #1
#指数运算符
g = 7 ** 2
print(g)  #49

复制代码

 

#比较运算符

- 对两个内容进行比较的运算符

- 结果一定为一个布尔值,即True/False

复制代码

# 等于 ==
#一个等号为赋值
a = 3 == 4
print(a)  #False

#不等于  !=
a = 3 != 4
print(a)  #True

#其他的符号是
#>, >=, < , <=
print(3 >= 4)  #False
print('123' > '012')  #False

复制代码

#赋值运算符

- 把一个值放到变量里边去

复制代码

#赋值符号 =   运算优先级最低
a = 6

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

#赋值的缩写
a = a+ 3
print(a)  #4
b += 3
print(b)  #5

#所有数学运算符都可以缩写
# -= , += , /= , //= , **=,都是可以缩写

复制代码

复制代码

#逻辑运算符

- 对布尔类型变量或者值进行运算的符号

- and:逻辑与

- or:逻辑或

- not:逻辑非

- python里面的逻辑运算没有异或

- 运算规则:

  - and看作乘法,or看作加法

  - True看作1,False看作0

  - 逻辑运算即可转换成整数运算

  - 最好结果如果是0则为False,否则为True

- 逻辑运算的短路问题

  - 逻辑运算式,按照运算顺序计算,一旦能够确认整个式子未来的值,不再进行计算,直接返回

复制代码

#逻辑表达式
a = True
b = True
c = False

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

bb = a and c
print(bb)  #False

cc = 100 and c
print(cc)  #False

#布尔值跟数字的转换
#数字转换成布尔值的时候,0 = False,其余都是True
#布尔值转换成数字的时候,True = 1,False = 0

复制代码

复制代码

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

aa = a or b and (a and b) #转换成算数 1+ ........
print(aa)  #True

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

def b():
    print('b')
    return True

if a() and b():   #没有短路,看到a()=True ,运算符为乘,所以还需要看b()的值
    print('test11111')

print("*"  *20)  #分隔符
if a() or b():  #运算符为or,则只需看a()=True,没必要执行下去了
    print('test222222')

复制代码

#成员运算符

- 用来检测一个值或者变量是否存在某个集合里面

- in:成员运算符

- not in:不在成员里面

复制代码

#in 案例
ll = [1,2,3,4,5]
a = 6
aa = a in ll
print(aa)  #False

#a没有在ll里面
aa = a not in ll
print(aa)  #True

复制代码

#身份运算符

- 用来确定两个变量是否是同一个变量

- is:变量运算符

- is not:不是

- 对整数N \in  [-5,256],解释器对他们做了单独的处理,放进了固定的内存中,不因每次运行而变化。

不仅仅是对小整数有这样的操作,内建的类(int,object,TypeError。。。)也都是这样处理的。(详见下面的案例)

复制代码

#身份运算符定义
a = 1
b = 2
aa = a is b
print(aa)  #False

#a和b仅仅是值一样,并不代表a,b是一个变量
#可以理解为a,b为两个不同存储的内存地址
a = 666666
b = 666666
aa = a is b
print(aa)  #False

#python在数值比较小的时候,将值5放入到一块内存中,当有a,b赋值为5时,直接指向这个内存,不单独开辟新的内存空间重新定义
a = 5
b = 5

aa = a is b
print(aa)  #True

复制代码

#运算符优先级问题

- 小括号具有最高优先级

  ** 指数运算符

  ~ + - 按位翻转

  * / % // 乘,除,取模,整除

  + -  加减法

  》 《 左移,右移运算符

  $ 位运算‘and’

  ^ |   位运算符

  比较运算符  <= >= < >

  等于运算符 <>  ==  !=

  赋值运算符  = %=  /=   -=  +=  *=  /=

  身份运算符  is   is not

  成员运算符 in   not in

  逻辑运算符  not  or  and

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值