python数字

python数字并不是一种真正对象类型,是一组类似的类型,提供类型有:

  • 整数和浮点数
  • 复数
  • 固定精度的十进制数
  • 有理分数
  • 集合
  • 布尔类型
  • 无穷的整数精度
  • 各种数字内置的函数和模块

整数和浮点数

python3将整数和长整型合二为一
python3八进制标识改为0o,增加二进制标识0b

内置方法

hex(I):
oct(I):
bin():
int(str,base=10)
pow()
abs()
round()
pyhon支持连续比较:

1<x<3 # x<a and x<3

注意

python3移除操作符<>
python3移除操作符`,使用repr(r)来代替
python3取消非数字混合类型比较

除法

  • x / y python3是真除法,就是现实中的除法;python2是传统除法,也就是说如果俩个操作数是整数结果为整数(截取整数部分),如果有浮点数,结果为浮点数
  • x // y floor除法,不考虑操作数类型,总是省掉小数部分,不大于真正结果的最大整数.

math.trunc()真正的截断,只保留整数部分
python3提供了i.bit_length()方法,等价于length.bin(str)-2

浮点数提供方法:
f.as_integer_ratio()

常用模块

math
random

复数

实数+虚数(j) 来表示 也可以使用complex(real,imag)来创建
cmath是处理复数的常用工具

小数(固定精度的十进制数)

使用decimal.Decimal(str)当不同精度小数混编时自动提升为位数最多的小数
在3.1中可以通过decimal.Decimal.from_float()实现float想decimal的转换 ,这一转换是精确的,但会增加小数位数
复数不能与小数进行混合运算
设置全局精度:decimal.getcontext().prec
上下文管理器

with decimal.localcontext as ctx :
        ctx.prec = 2

分数(有理分数)

模块fraction
可以使用两个整数和字符串进行初始化
分数在保证精度情况下,能简化结果
分数也提供float转换为分数的方法Fraction.from_float(f)但是精度确得不到保证
注意:

分数和浮点数运算得到结果是浮点数

集合Set

集合是唯一的,不可变对象的无序集合,可以使用可迭代对象进行构建.支持in,-,|,&,^,比较运算,使用add,update,remove修改集合中的项,也支持len,for 等操作.
python3集合常量:使用{1,2}创建集合,但是{}仍然是字典,空的集合还是必须使用set 进行创建.
使用frozenset()来创建不可变集合

布尔型

True-1,False-0

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 数字对象是不可改变的对象。 一、整形 1.布尔型(true&false) 2.标准整形(-2**31~2**31-...
    Cassiel_834b阅读 1,855评论 0 0
  • Python的数字类型 在Python中,数字并不是一个真正的对象类型,而是一个类似类型的分类。 Python数字...
    聽風踏雪阅读 2,662评论 0 0
  • 数字是编程语言中最基础的数据类型。 数字分类 优先级问题 类型强制转换 1. 数字类型 Python中数字类型:1...
    老黄爱Python阅读 3,398评论 0 0
  • 之前遇到过很多种格式化输出的形式,但是却没有清晰的梳理出来。今天是时候我们做一个了断了。 数字的四舍五入-roun...
    KevinCool阅读 10,094评论 0 1
  • 1 数字简介 1.1 创建数值对象并赋值 数字提供了标量贮存和直接访问 1.2 更新数字对象 数字是不可更改类型,...
    Ke爺阅读 1,679评论 0 0

友情链接更多精彩内容