Python第三讲--运算符

运算符优先级遵循的规则为:算术运算符的优先级最高,其次是位运算符,成员测试运算符,关系运算符,逻辑运算符等,算术运算符遵循“先乘除,后加减”的基本运算原则。

        记住,圆括号是明确和改变表达式运算顺序的利器,在适当位置使用圆括号可以使得表达式的含义更加明确。

Python常用运算符

        运算符类型            运算符             功能

  

      算术运算符

+算术加法,列表,元组,字符串合并与连接,正号
-算术减法,集合差集,相反数
*算术乘法,序列重复
/相当于数学里的除法
//求整商
%求余数,字符串格式化
**幂运算
     关系运算符<,<=,>,>=,==,!=大小或集合包含关系比较,依次为小于,小于等于,大于,大于等于,等于,不等于

     逻辑运算符

and逻辑与
or逻辑或
not逻辑非
      位运算符| , ^ , & , << , >> , ~依次为位或,位异或 ,位与,左移位,右移位,位求反
     身份运算符is对象同一性测试,即测试是否为同一个对象或内存地址是否相同
   成员资格运算符in成员测试
[]下标运算符
.属性访问
  1. 算术运算符

1) + 运算符除了用于加法运算,还可以用于列表,元组,字符串的连接,但不支持不同类型对象之间相加或连接

>>>[1,2,3]+[4,5,6]

[1,2,3,4,5,6]

>>>(1,2,3)+(4,)

(1,2,3,4)

>>>"abcd"+"123"

"abcd123"

2) * 运算符除了表示算术乘法,还可用于列表,元组,字符串这几个序列类型与整数的乘法,表示序列元素的重复,生成新的序列对象。字典和集合不支持与整数的相乘,因为其中的元素是不允许重复的。

<<<True*3

3

<<<[4,5,6]*3

[4,5,6,4,5,6,4,5,6]

3) 运算符/和 // 在Python中分别表示算术除法和算术求整商

>>>5/2

2.5

>>>7//4          #如果两个操作数都是整数,结果为整数

1

>>>7.0//4       #如果操作数中有实数,结果为实数形式的整数值

1.0

4)**运算符表示幂乘,等价于内置函数pow()

>>>3**2          #等价于3的2次方,相当于pow(3,2)

9

5)% 运算符可以用于整数或实数的求余数运算(结果符号与除数相同),还可以用于字符串格式化。

>>>15%7

   2.关系运算符

       Python关系运算符可以连用,含义与人们日常理解​完全一致。使用关系运算符的一个最重要的​前提是:操作数之间必须可比较大小​。

>>>"hello">"world"                #比较字符串大小无意义

False

>>>{1,2,3}<{1,2,3,4}                 #测试是否子集

True

 

   3.成员运算符in

       成员运算符in用于成员测试,即测试一个对象​是否为另一个对象的元素。

>>>1 in [1,2,3]

True

   4.同一性运算符is

       is 是用来测试两个对象是否同一个,如果是则返回True ,否则返回False​。如果量对象是同一个,两者具有相同的内存地址​。

>>>5 is 5

True

>>>a=[10,10,10]     

>>>a[0] is a[1]           #基于值的内存管理,同一个值在内存中只有一份

True

   5.位运算符和集合运算符

      ​ 位运算符只能用于整数,其内部执行过程为​:首先将十进制整数转换为二进制数,然后右对齐,必要时左侧补0,按位进行运算,最后再把计算结果​转换为十进制整数。

       位与运算规则为1&1=1 , 1&0=0 , 0&1=0 , 0&0=0

       位或运算规则为1|1=1 , 1|0=1 , 0|1=1 , 0|0 =0

       位异或运算规则 1^1= 0^0=0 , 1^0 =0^1 =1

二进制详解:

比如3这个十进制数,转化为二进制为 000011,从右向左依次代表2的0次方 ,2的1次方,所以3=2+1.

使用位运算符计算时,要将两个十进制数字转化为2进制,然后上下依次对齐,根据运算规则写出新的二进制​数,再将其转化为十进制。

      另外,左移位时右侧补0,每左移一位,相当于乘以2​;右移位时左侧补0,每右移一位相当于整除2​。

>>>3<<2           #把3左移2位

12

>>>3&7              #3:000011  

3                             7:000111

           位与运算后 : 000011=3

      集合的交集,并集,对称差集等运算借助于位运算符来实现,差集则使用减号运算符实现(注意,并集运算符不是加号)

>>>{1,2,3} | {3,4,5}       #并集,集合自动去除重复元素

{1,2,3,4,5}

    6.逻辑运算符

     逻辑运算符and,or ,not 常用来连接条件表达式构成更加复杂的条件表达式,并且and 和 or 具有惰性求值或逻辑短路的特点,当连接多个表达式时只计算必须要计算的值。 另外要注意的是,运算符and 和 or 不一定会返回 True 或False ,而是得到最后一个被计算的表达式的值,但是运算符not 一定会返回True 或False​。

      or只找True

>>> 1>3 and b>2            #此时未定义变量b

False

>>>  3<5 and a>3            #3<5为True,不用计算后面表达式

True

>>>3 and 5                     #最后一个计算的表达式的值作为整个表达式的值

5

>>>3 is not 5                 #not的计算结果只能是True 或False

True​

                              微信关注公众号学不思蜀,各种学习资料应有尽有

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值