前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python运算符

Python运算符

作者头像
汤贤
发布2022-05-13 20:07:18
3150
发布2022-05-13 20:07:18
举报
文章被收录于专栏:用户7289880的专栏

运算符

运算符:以1 + 2为例,1和2被称为操作数,“+” 称为运算符。

Python语言支持以下类型的运算符:

1.算术运算符

2.比较(关系)运算符

3.赋值运算符

4.逻辑运算符

5.位运算符

6.成员运算符

7.身份运算符

8.三目运算符

9.算术元运算符

以下假设变量: a=10,b=20:

python中,有三种除法,分别是

10/3    3.333333333     

1.计算结果是浮点数,即使两个整数恰好整数,结果也是浮点数

9/3    3.0

2.只取整数部分,余数被抛弃

10//3  3

3.余数运算,可以得到两个整数相除的余数

10%3    1

如果想同时得到商和余数,可以用这个方法

divmod(10,3)    (3,1)

因为浮点数精度的问题,Python还存在一些计算方面的小问题

0.1+0.1+0.1-0.35.551115123125783e-17

要解决这个问题,可以导入decimal模块

fromdecimalimportDecimalDecimal('0.1')+Decimal('0.1')+Decimal('0.1')-Decimal('0.3')Decimal('0.0')

比较运算符

1.下面三个选项哪个为True?

'abc'<'xyz'# 为什么字符串可以进行大小比较,这是因为电脑存储字符时,是以ASCII码值存储的也就是A是65,z是90.你输入的字符也是一个对应的数字(3,2) < ('a','b')

2.请分别说出下面各项的值:

True==1False==03>2>13>2>2(3>2)>1(3>2)>2

对于连续比较,Python是按这种机制解释的:

3>2>1 等于 (3>2) and (2>1) ,相当于两个比较,然后用与&再结合起来。

赋值运算符

注意对于 a /= b 之类的操作,等同于a = a / b, 而不是 a = b / a,方向一定不要搞反了。

a = 1a++print(a)

在python中是没有++的这种写法

位运算符

按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下: 下表中变量 a 为 60,b 为 13,二进制格式如下:

代码语言:javascript
复制
a = 0011 1100
b = 0000 1101
-----------------
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a  = 1100 0011

逻辑运算符

Python语言支持逻辑运算符,但是没有其它语言中的&&和||语法,取而代之的是更加人性化的英文单词and or not(全部都是小写字母)。以下假设变量 a 为 10, b为 20:

代码语言:javascript
复制
x =Falsey =TruexandyFalsea =10b =20aandb20

成员运算符

in 与 not in是Python独有的运算符(全部都是小写字母),用于判断对象是否某个集合的元素之一,非常好用,并且运行速度很快。返回的结果是布尔值类型的True或者False。

list1 = [1,2,3,4,5]a =1foriinlist1:ifi == a:        print("a在list1中")else:        print('a不在list1中')flag =Falseforiinlist1:ifi == a:        flag =Truebreakifflag:    print("a是list1的元素之一")else:    print("a不是list1的元素")        如果用in运算符来做的话,就不用这么麻烦了list1 = [1,2,3,4,5]a =1ifainlist1:    print("a是list1的元素之一")else:    print("a不是list1的元素")

身份运算符

这也是Python的特色语法(全部都是小写字母)。

注意is与比较运算符“==”的区别,两者有根本上的区别,切记不可混用:

is用于判断两个变量的引用是否为同一个对象,而==用于判断变量引用的对象的值是否相等!

代码语言:javascript
复制
a = [1,2]b = abisaTureb == aTureb = a[:]bisaFalseb == aTurea =2b =2.0bisa a == b

三目运算符

python中的三目运算符不像其他语言一般的表示方法:判定条件?为真时的结果:为假时的结果。

在python中的格式为:为真时的结果 if 判定条件 else 为假时的结果,例如:

代码语言:javascript
复制
a = 1b = 2h =""h = a-bifa>belsea+b

如果a>b执行a-b,如果a<b执行a+b

运算符优先级

下表列出了从最高到最低优先级的所有运算符。优先级高的运算符优先计算或处理,同级别的按从左往右的顺序计算(赋值运算符除外,它是按从右往左的顺序)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 运算符
    • 比较运算符
      • 赋值运算符
        • 位运算符
          • 身份运算符
            • 三目运算符
              • 运算符优先级
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档