Python的数字类型

Python数字类型是 非序列对象,不可迭代对象,不可变性
Python数字类型包括:
  1. 整数和浮点数
  2. 复数
  3. 固定精度的十进制
  4. 有理分数
  5. 集合
  6. 布尔类型
  7. 无穷的整数精度
  8. 各种数字内置函数和模块
数字常量

基本的数字常量 表格

数字常量
1234,  -24,  0,  99999999999999整数(无穷大小)
1.23,  1.,  3.14e-10,  4E210,  4.0e+210浮点数
0o177,  0x9ff,   0b101010八进制,十六进制, 二进制
3+4j,  3.04.0j,  3J复数常量
  
内置数学工具和扩展

表达式操作符

    +、 -、 *、 /、 >>、 **、 & 等。

内置数学函数

    pow、 abs、 round、 int、 hex、 bin 等。

公用模块

    random、 math 等。

Python表达式操作符

    python表达式操作符及程序(越靠后优先级越高)

操作符描述
yield x生成器函数发送协议
lambda args: expression生成匿名函数
x if y else z三元选择表达式
x or y

逻辑或 (只有x为假,才会计算y

,Python规定逻辑运算只允许运行表达式,不允许赋值运算,少了一些坑)

x and y逻辑与(只有x为真,才会运算y)
not x逻辑非
x in y, x not in y成员关系(可迭代对象,集合)
x is y, x is not y对象实体测试

x < y, x <= y, x > y, x >= y

x == y, x != y

大小比较,集合子集和超集值相等性操作符
x | y位或,集合并集
x ^ y位异或, 集合对称差
x & y位与, 集合交集
x << y, x >> y左移或右移 y 位
x + y, x - y加法/合并,减法、集合差集
x * y, x % y, x / y , x // y乘法/重复, 余数/格式化, 除法, 整除或floor除法
-x , +x一元减法, 识别
~x按位求补(取反)
x ** y幂运算
x[i]索引
x[i:j:k]分片
x(...)调用
x.attr属性引用
(...)元组,表达式,生成器表达式
[...]列表,列表解析
{...}字典、集合和字典解析
混合类型自动升级

在数字类型的表达式中,自动升级为复制的数据类型。Python是这样划分数字类型的复制度:整数比浮点数简单,浮点数比复数

简单。所以一个整数与浮点数混合运算时,整数首先升级转为浮点数,之后通过浮点数的运算法则达到浮点数结果。

>>> 2 + 1.0
3.0

在Python2 中 字符类型永远比数字类型大。

运算符重载

尽管我们目前把注意力集中在内置的数字类型上,要留心所有的Python操作符可以通过Python的类或c扩展类型被重载(即实现),让它也能工作于你所创建的对象中。例如,用类编写的对象代码也许可以使用+表达式做加法或连接,以及使用[i]表达式进索引等。

再者,Python自身自动重载某些操作符,能够根据所处理的内置对象的类型而执行不同的操作,例如,“+”操作符应用于数字时是在做加法,而用于字符串或列表这样的序列对象时是在做合并运算。实际上,“+”应用在定义的类的对象上可以进行任何运算,这种特性通常叫做多态。

数字显示的格式

str 和 repr 显示格式

repr(也是默认的交互模式回显)产生的结果看起来就好像它们是代码。

str(也就是打印语句)转变为一种通常对用户更加友好的格式。

一些对象两种方式都有:str用于一般用途,repr用于额外的细节。

范围测试

有趣的是,Python还允许我们把多个比较连续起来执行范围测试。连续的比较式更大的布尔表达式的缩写。简而言之,Pyton允许我们把大小比较测试连接起来1,成为诸如范围测试的连续比较。例如,表达式(A<B<c)测试B是否在A和C之间;他等同于布尔测试(A<Band B < C),但更容易辨识(和录入)。例如:

>>> 1 == 2 < 3 # 等同于 1 == 2 and 2 < 3
False
除法:传统除法、Floor除法和真除法

传统除法和真除法: x / y  

    在Python2 中,对于浮点数会保留小数部分,在Python3中将会变成真除法(无论任何类型都会保留小数部分)

>>> 1 / 1
1.0

Floor除法: x // y

    // 执行floor除法,它截除掉余数向下取舍并且针对整数操作返回一个整数,如果有任何一个操作数是浮点类型,则返回一个浮点数

>>> 5 // 2 
2
>>> 5.0 // 2
2.0
>>> -5 // 2
-3
>>> -5 // 2
-3.0
舍弃余数 math.trunc

// 是截断除法,更准确的说法是Floor除法,余数是根据 x y 纵轴 向下取舍的。有时想直接丢掉余数,得到一个整数,可以用这个办法。

>>> math.trunc(2.5)
2
>>> math.trunc( -5.0 / 2)
-2
十六进制,八进制,二进制

进制标示符:0x, 0o, 0b (十六, 八,二 进制)

相关函数 hex , oct, bin, int, ord(转为ASCII码表


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值