180131—【Python初识 D7】数字

数字简介

Python 数字 数据类型用于存储数值,它是不可改变类型,这就意味着如果改变 数字 数据类型的值,将重新分配内存空间。

所支持的类型

Python 支持四种不同的数值类型:

1.整型(Int)

python中的整型有几种类型:

布尔型

True 与 False 注意首字母大写!!

标准整型

Python的标准整型等价于C的(有符号)长整型(看看!)
一般以十进制表示,但也支持八和十六进制,其表示规定常规。

长整型

前面也提到过,python之中的长整型几乎没有范围限制,仅仅与计算机支持的虚拟内存有关。
长整型是整型数的超集,可表示极大的数,最后是一个大写或小写的L。(为了避免与数字1混淆,通常使用大写L)(注意:python3中已经没有长整型了)

2.双精度浮点型

Python中的浮点型类似于C中的double类型,是双精度浮点型。可直接用十进制或科学计数法表示(2.5e2 = 2.5 x 10的2 = 250)每个占8个字节。
采用标准IEEE754号规范,52个位用于表示底,11个用于表示指数,剩下一个表示符号。

3.复数

对没错我们支持复数!
复数由实数部分和虚数部分构成,
可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都支持浮点型。
复数对象拥有数据属性。三个内建函数:
num.real 返回实部
num.imag 返回虚部
num.conjugate() 返回共轭复数

操作符

不同数据类型的数

支持不同类型之间的数进行计算,会自己做强制类型转换,转化规则同C:

  • 如果有一个数是复数,则另一个操作数被转换为复数;
  • 否则,如果有一个是浮点型,则另一个操作数被转换为浮点型;
  • 否则,如果有一个是长整型,则另一个操作数被转换为长整型;
  • 否则,俩都是普通整型,无需转换。

另外有强制类型转换函数:coerce(),其参数有两个,可按上述规则转换数:

>>> coerce(1.3,134L)
(1.3, 134.0)
>>> 

其余类型转换:

int(x [,base ])x转换为一个整数  
long(x [,base ])x转换为一个长整数  
float(x )x转换到一个浮点数  
complex(real [,imag ])  创建一个复数  
str(x )                 将对象 x 转换为字符串  
repr(x )                将对象 x 转换为表达式字符串  
eval(str )              用来计算在字符串中的有效Python表达式,并返回一个对象  
tuple(s )               将序列 s 转换为一个元组  
list(s )                将序列 s 转换为一个列表  
chr(x )                 将一个整数转换为一个字符  
unichr(x )              将一个整数转换为Unicode字符  
ord(x )                 将一个字符转换为它的整数值  
hex(x )                 将一个整数转换为一个十六进制字符串  
oct(x )                 将一个整数转换为一个八进制字符串

特殊的算术操作符:

除法:

在python中讲除法,要有三个概念:

  • 传统除法
  • 地板除法
  • 真正除法
地板除法:

这个在之前学C的时候还吃过不少亏。
所谓地板除法,即取比商小的最大整型作为除法运算的结果。
比如:5除以2等于2.5,但在地板除法中会取2。
在C++中,这是对两个操作数都为整型时做的事。

真正除法:

也就是正常的除法,5除以2等于2.5,那就是2.5。
我们都知道之前想这样的话,5和2至少有一个得写成浮点型数,否则只会得到2

传统除法:

也就是C和早期python使用的方式。其原理就是,当两个操作数均为整型时采取地板除,有一个数是浮点才采取真正的除法。是两个方法的组合

python采取的除法

Python中的除法运算有两个符号:“/” 和 “//”,
在2.7版本中,/ 时采取传统除法,//时采取地板除。
在3.6版本中,/ 时采取真正的除法,//时为地板除。
这里写图片描述

幂运算:

幂运算操作符和一元操作符之间的优先级关系比较特别:

  • 幂运算操作符比 左 侧操作数的一元操作符优先级 高 ;
  • 幂运算操作符比 右 侧操作数的一元操作符优先级 低 ;
>>> -3**2     #先执行幂运算再取负;
-9
>>> 4**-.5    #先执行右边的复数再进行幂运算
0.5
>>> 4**-1
0.25

位运算

先补个课:
了解一下位运算的意义。
Python的整型数据支持标准的位运算:取反(~)、按位与(&)、或(|)、异或(^),左右移(<<和>>)

内建函数和工厂函数因为概念还有一丝模糊,所以不冒昧抛出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值