Python学习-数字类型、布尔类型

八、数字类型

1、整数(integers)

Python的除法就算能被整除,也会产生带小数的结果。小数在Python中是以浮点数的形式存在的。
比如:

>>>6/2
3.0

2、浮点数(floating point numbers)

Python的浮点数是具有误差的,因为Python和C语言一样,都是采用IEEE754的标准来存储浮点数的,所以会产生一定精度上的误差。

>>>0.1 + 0.2
0.30000000000000004
 
>>>i=0
>>>while i<1:
              i = i+0.1
              print(i)
 
0.1
0.2
0.30000000000000004
0.4
0.5
0.6
0.7
0.7999999999999999
0.8999999999999999
0.9999999999999999
1.0999999999999999

3、decimal模块 - 十进制

>>>import decimal
>>>a = decimal.Decimal('0.1')
>>>b = decimal.Decimal('0.2')
>>>print(a + b)
0.3
>>>c = decimal.Decimal('0.3')
>>>a + b ==c
Ture

4、复数(complex numbers)

复数包含了一个实部和一个虚部。实部和虚部都是以浮点数的形式存放的。
用real来获取实部的数值。
用imag来获取虚部的数值

>>>1 + 2j
(1+2j)
>>>x = 1 + 2j
>>>x.real
1.0
>>>x.imag
2.0

5、数字运算

操作含义
x+yx加y的结果
x-yx减y的结果
x*yx乘以y的结果
x/yx除以y的结果
x//yx除以y的结果(地板除),地板除确保两个数相除的结果是个整数,如果不是整数就向下取整,即取比目标结果小的最大整数。
x%yx除以y的余数 x == ( x // y ) * y + ( x % y )
-xx的相反数
+xx本身
abs(x)x的绝对值
int(x)将x转换成整数
float(x)将x转换成浮点数
complex(re,im)返回一个复数,re是实部,im是虚部
c.conjugate()返回c的共轭复数
divmod(x,y)返回(x//y,x%y)
pow(x,y)计算x的y次方
x ** y计算x的y次方

地板除举例:

>>> 3/2
1.5
>>>3//2
1
>>>-3//2
-2

余数举例:

>>>3%2
1

divmod(x,y)举例

>>>divmod(3 , 2)
(1 , 1)

九、布尔类型

1、bool函数

使用bool内置函数可以直接给出True或者False的结果。
(1)字符串:只有空字符串的结果是False,其他都是True。
(2)数值:只有等值于0的结果才是False,其他都是True。
(3)结果为False的情况:
  1)定义为False的对象:None和False
  2)值为0的数字类型:0,0.0,0j,Decimal(0),Fraction(0,1)
  3)空的序列和集合:‘’,(),[],{},set(),range(0)

2、条件:

条件就是真假的布尔类型结果,且条件是比较运算符计算之后的结果。

3、1是真True,0是假False。

在这里插入图片描述

4、逻辑运算符

运算符含义
and左边和右边同时为True,结果为Ture
or左边或右边其中一个为True,结果为Ture
not如果操作数为True,结果为False;如果操作数为False,结果为True

5、真值测试

Python中任何对象都能直接进行(测试该对象的布尔类型值为True或False),用于if或者while语句的条件判断,也可以做为布尔逻辑运算符的操作数。
在这里插入图片描述

6、短路逻辑

短路逻辑的核心思想:从左往右,只有当第一个操作数的值无法确定逻辑运算的结果时,才对第二个操作数进行求值。
在这里插入图片描述

例题:
((not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9)) == 4
False or 0 or 4 or 6 or 9

7、运算符优先级

Python的运算符优先级,运算表达式时,执行的先后顺序,先执行具有较高优先级的运算符,然后再执行较低优先级的运算符。
以下优先级,从低到高,最下面的是最高优先级。

优先级运算符描述
1 lambda Lambda表达式
2 if - else条件表达式
3 or 布尔“或”
4 and 布尔“与”
5 not x 布尔“非”
6 in , not in , is , is not ,< ,<= , > , >=, !=, == 成员测试,同一性测试,比较
7 | 按位或
8 ^ 按位异或
9 & 按位与
10 << , >> 移位
11 + , - 加法,减法
12 *,@,/,//,% 乘法,矩阵乘法,除法,地板除,取余数
13 +x,-x,~x正号,负号,按位翻转
14 ** 指数
15 await x Await表达式
16 x[index],x[index,index],x(arguments…), x.attribute 下标,切片,函数调用,属性引用
17 (expressions…),[expressions…],{key: value…},{expressions…} 绑定或元祖显示,列表显示,字典显示,集合显示
例题: not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9 == 4
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值