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

Python 运算符和数据类型

原创
作者头像
小柒qi
修改2021-01-08 18:05:40
5810
修改2021-01-08 18:05:40
举报
文章被收录于专栏:小七的编程小七的编程

运算符

描述

+

-

*

/

%

返回除法的余数

**

幂次

//

返回商的整数部分

小贴士: / 计算结果是 浮点数 ,即使两个数都是整数,结果也是浮点数。 // 与 % 都是 向下取整。 如果想同时得到 商 和 余数 ,可以用 divmod() 这个方法。该方法的返回值是 tuple(x//y, x%y)

浮点数精度会出现如下问题:

>>> In [1]: print(5.4-3) >>> 2.400000000000000412

那么如何解决呢?

from decimal import Decimal num = Decimal('5.4') - Decimal('3') print(num) #运行结果2.412345

也就是说,解决浮点数精度的问题,我们可以导入decimal库解决~

导入模块 import decimal # 导入decimal模块 from decimal import Decimal # 从decimal模块导入Decimal类

比较运算符

运算符

描述

==

比较值是否相等

!=

比较值是否不相等

>

大于

<

小于

>=

大于等于

小贴士: int不能直接与str比较 python3 中 不支持 <> 号,如:2<>3 ==与!=符号不能分开写成== str与str之间比较的是ASCII,并且逐个比较 连续比较,如:a>b>c 可拆解为 a>b and b>c

赋值运算符

运算符

描述

实例

=

赋值运算符

c=a+b

+=

加法赋值运算符

c+=a等效c=c+a

-=

减法赋值运算符

c-=a等效c=-a

*=

乘法赋值运算符

c*=a等效c=c*a

/=

除法赋值运算符

c/=a等效c=c/a

%=

取余数赋值运算符

c%=a等效c=c%a

**=

幂赋值运算符

c**=a等效c=c**a

//=

取整数赋值运算符

c//=a等效c=c//a

小贴士: 赋值:是将等号右边赋值给等号左边 python 不支持 a++ 、a-- 语法 += 等符号 不能分开 写成 + =

逻辑运算符

运算符

表达式

描述

and

a and b

逻辑与,a与b都为True则返回为True

or

a or b

逻辑或,a与b只要有一个为True则返回为True

not

not a

逻辑非,当a为True,not a则为false

懒惰原则:

In [1]: print(10 and 20) 20 In [2]: print(10 or 20) 10

位运算符

运算符

描述

&

按位与:两者都为1才为1,否则为零

|

按位或:只有一个为1则为1,否则为零

^

按位异或:两者相等则为0,否则为1

# 栗子:当 a = 60,b=13 # 取二进制 a = 0011 1100 b = 0000 1101 ------------------ a & b = 0000 1100 a | b = 0011 1101 a ^ b = 0011 0001

成员运算符

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

运算符

描述

in

判断某个值是否在指定序列中,在则返回True

not in

判断某个值是否在指定序列中,不在则返回True

身份运算符

运算符

描述

is

判断两个对象的内存地址是否一致,是则返回True

is not

判断两个对象的内存地址是否不一致,不是则返回True

小贴士: 注意:is 与 == 的区别 is 用于判断两个变量的引用是否为同一个内存地址 (可使用 id() 查看) == 用于判断两个变量的值是否相等

三目运算符

python 中的三目运算符表示方法:

True_statements if expression else False_statements1

在这里插入图片描述
在这里插入图片描述

例如:

a = 1,b = 2 实现,当 a+b>3 执行 a+b,否则执行 b-a

解答:

a=1,b=2 num = a+b if a+b>3 else b-a print(num) 输出:1

运算符优先级

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

运算符

描述

**

指数(最高优先级)

* / % //

乘 除 取余 整除

+ -

加 减

<= <> >=

比较运算符

== !=

比较运算符

= %= /= //= -= += *= **=

赋值运算符

is is not

身份运算符

in not in

成员运算符

not or and

逻辑运算符

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档