Python初入学习笔记(四)-- Python中的运算符

Python中的运算符

运算符

运算符是一些特殊的符号,主要用于数学计算、比较大小和逻辑运算等;使用运算符将不同类型的数据按照一定的规则链接起来的式子称为表达式。运算符分类如下:

    1)算数运算符:即四则运算及其相关运算

运算符说明示例结果
+2+57
-5-32
*5*2.412.0
/9/42.25
%取余数,即返回除法的余数9%41
//取整除,即返回商的整数部分9%42
**幂,返回x的y词放2**532(2的4次方)
  • 注意点1:在求余时(%)如果除数是负数,则取得的结果也是负数
  • 注意点2:在使用除法( /或者// )运算符和求余运算符(%)时,除数不能为零
    print(' + :'+ str(7 + 2))    #加
    print(' -  :'+ str(5 - 3))   #减
    print(' *  :'+ str(5 * 2.4)) #乘
    print(' /  :'+ str(9 / 4))   #除
    print(' %  :'+ str(9 % 4))   #取余
    print(' // :'+ str(9 // 4))  #整除
    print(' ** :'+ str(2 ** 5))  #幂

    2)赋值运算符:主要是为变量赋值;右边的值赋给左边的变量, 也可以进行某些运算过后在赋给左边的变量。

运算符说明示例展开式
=简单的赋值运算a = ba = b
+=加 赋值a += ba =a + b
-=减 赋值a -= ba =a - b
*=乘 赋值a *= ba =a * b
/=除 赋值a /= ba =a / b
%=取余数 赋值a %= ba =a % b
**=幂 赋值a **= ba =a ** b
//=取整除 赋值a //= ba =a // b
num = 2
print('num = ' + str(num))                 #简单的赋值运算
num += 1
print('num += 1  ;  num = ' + str(num))    #加 赋值
num -=1
print('num -= 1  ;  num = ' + str(num))    #减 赋值
num *= 2
print('num *= 2  ;  num = ' + str(num))    #乘 赋值
num /= 2
print('num /= 2  ;  num = ' + str(num))    #除 赋值
num %= 3
print('num %= 3  ;  num = ' + str(num))    #取余 赋值
num **= 3
print('num **= 3  ;  num = ' + str(num))   #幂 赋值
num //= 3
print('num //= 3  ;  num = ' + str(num))   #整除 赋值


    3)比较(关系)运算符:比较运算符,又被称之为关系运算符,用于对变量或者表达式的结果进行大小、真假的比较。若比较结果为真,则返回True,反之返回False。比较一般以条件语句内容作为判断依据。

运算符说明示例结果
>大于'a'>'b'False
<小于156<828True
==等于'c'='c'True
!=不等于'y'!='t'True
>=大于等于479>=426True
<=小于等于85.95<=64.28False
print('a'>'b')
print(156<828)
print('c'=='c')
print('y'!='t')
print(479>=426)
print(85.95<=64.28)


   4) 逻辑运算符:

       假定某购物平台:在每星期的周三凌晨24点到1点、周六下午两点到三点,对零食类进行显示折扣秒杀活动,那么想要参与秒杀活动的顾客,就需要满足过冬规定的时间条件:周三且在时间段0:00AM~1:00AM内或者周六且在时间段14:00PM~15:00PM内;这里用到的就是所谓逻辑关系。而在Python中也提供了这样的逻辑运算符进行相关逻辑运算。

       逻辑运算符对真假两种布尔值进行运算,运算后的结果仍是一个布尔值:其中主要的逻辑运算符包括and(逻辑与)、or(逻辑或)、not(逻辑非)。

运算符说明用法结合方向
and逻辑与Op1 and Op2左-->右
or逻辑或Op1 or Op2左-->右
not逻辑非not Op右-->左

使用逻辑云端福进行逻辑运算符 进行逻辑运算的结果

表达式1表达式2表达式1 and 表达式2表达式1 or 表达式2not 表达式
TrueTrueTrueTrueFalse
TrueFalseFalseTrueFalse
FalseFalseFalseFalseTrue
FalseTrueFalseTrueTrue


    5)位运算符:位运算符用于对二进制数进行计算,因此,在执行位运算前,要想将需执行位运算的数据转换为二进制数

  • '位与'运算
    • 符号:&
    • 运算法则:两个操作数的二进制表示,只有对应位都是1,结果为1,否则为0.
 操作数1操作数2运算( 

十进制480
二进制0000 0000 0000 01000000 0000 0000 10000000 0000 0000 0000 

十进制8128
二进制0000 0000 0000 10000000 000 0000 11000000 0000 0000 1000
#位与运算
print("位与运算")
print(4&8)
print(8&12)

  • '位或'运算
    • 符号:|
    • 运算法则:两个操作数的二进制表示,只有对应位都是0,结果为0,否则为1.
 操作数1操作数2运算( 

十进制4812
二进制0000 0000 0000 01000000 0000 0000 10000000 0000 0000 1100 

十进制81212
二进制0000 0000 0000 10000000 000 0000 11000000 0000 0000 1100
#位或运算
print("位或运算")
print(4|8)
print(8|12)

  • '位异或'运算
    • 符号:^
    • 运算法则:两个操作数的二进制表示,只有对应位相同(同为1或同为0),结果为0,否则为1.
 操作数1操作数2异或运算( 

十进制4812
二进制0000 0000 0000 01000000 0000 0000 10000000 0000 0000 1100 

十进制8124
二进制0000 0000 0000 10000000 000 0000 11000000 0000 0000 0100

十进制31229
二进制0000 0000 0001 11110000 000 0001 01100000 0000 0000 1001
#位异或运算
print("位异或运算")
print(4^8)
print(8^12)
print(31^22)

  • '位取反'运算
    • 符号:~
    • 运算法则:在操作数的二进制表示中,将0修改为1,1修改为0.
操作数(十进制)操作数(二进制)操作数取反(二进制)操作数取反(十进制)
40000 0000 0000 01001111 1111 1111 1011-5
80000 0000 0000 10001111 1111 1111 0111-9
120000 0000 0000 11001111 1111 1111 0011-12
#位取反运算
print("位取反运算")
print(~4)
print(~8)
print(~12)

  • 左移运算符
    • 符号:<<
    • 运算法则:讲一个二进制操作数,向左移动指定的位数
      • 左边(高位端)溢出的位被丢弃
      • 右边(低位端)空出的位用0 补充
    • 左移位运算相当于乘以2的n次幂
 操作数
十进制4831
二进制0011000000011111

左移(<<)

1位

二进制0110000000111110
十进制9662

左移(<<)

2位

二进制1100000001111100
十进制192124
#左移运算符
print('左移运算符')
print('48左移1位:' + str(48<<1))
print('48左移2位:' + str(48<<2))
print('31左移1位:' + str(31<<1))
print('31左移2位:' + str(31<<2))

  • 右移运算符
    • 符号:>>
    • 运算法则:讲一个二进制操作数,向左移动指定的位数
      • 右边(低位端)溢出的位被丢弃
      • 左边(高位端)空出的位,需要填充,填充时:
        • 如果最高位是0(正数),左侧空位填入 0
        • 如果最高位是1(负数),左侧空位填入 1
    • 右移位运算相当于除以2的n次幂
 操作数
十进制4860-80
二进制001100000011110010100000

右移(>>)

1位

二进制000110000001111011010000
十进制2430-40

右移(>>)

2位

二进制000011000000011111101000
十进制12124-20
#右移运算符
print('右移运算符')
print('48右移1位:' + str(48>>1))
print('48右移2位:' + str(48>>2))
print('60右移1位:' + str(60>>1))
print('60右移2位:' + str(60>>2))
print('-80右移1位:' + str(-80>>1))
print('-80右移2位:' + str(-80>>2))

PS:由于位移运算速度很快,所以,在程序中遇到表达式乘以或者除以2的n次幂时,一般采用位移运算代替。

6)运算符优先级问题

       Python运算符的运算规则:优先级搞得运算先执行,优先级低的运算后执行,同一优先级的操作按照从左到右顺序执行。若哟小括号,则括号内运算优先执行。

       运算优先级从到低排序如下表所示:

类型说明
**
~、+、-取反、正号、负号
*、/、%、//算数运算符:乘、除、取余、整除

+、-

算数运算符:加、减
<<、>>位运算符:左移、右移
&位运算符:位与
^位运算符:位异或
|位运算符::位或
<、<=、>、>=、!=、==比较运算符

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值