Python学习笔记5:Python数字

来源:互联网 发布:access数据库能仓库 编辑:程序博客网 时间:2024/04/30 14:07

1、简介
数字提供了标量储存和直接访问。不可变类型。
Python支持多种数字类型:整型、长整型、布尔型、双精度浮点型、十进制浮点型和复数。
Python中,变量更像一个指针,指向装变量的盒子。
传统提法:变量就像一个盒子,里面装着变量的值。
删除数字对象 del anInt

2、整型
(1)布尔型(2.3)
True/False
(2)标准整型–等价于C中有符号长整型
32位机器:-(2^31)~(2^31)-1(-2147483648~2147483647)
8进制整型以”0“开始,十六进制整型则以”0x“或”0X“开始。
(3)长整型
Python长整型数值仅和机器支持的(虚拟)内存大小相关。
整型和长整型正在逐渐统一为一种。(2.2)
必要时,整型会悄悄地自动转换为长整型。

3、双精度浮点型–类似于C中double类型
用十进制或科学计数法表示。每个浮点型占8个字节(64位)
其中52位表示底,11位表示指数。(范围±10^308.25),剩下一位表示符号。
浮点型通常都有一个小数点和一个可选后缀e/E。e和指数之间可用正负号表示指数的正负数。

4、复数
虚数不能单独存在,总是和一个值为0.0的实数部分一起构成一个复数。
复数由实部和虚部构成。
表示虚数的语法:real+imagj。
实数部分和虚数部分都是浮点型。
虚部必须有后缀j或者J。

5、操作符
(1)除法
/真正的除法 1/2=0.5 1.0/2.0=0.5
//地板除 1/2=0 1.0/2.0=0.0(传统除法)
(2)幂运算
-3**2=-9 4.0**-1.0=0.25
(3)位操作符
~取反、&位与、|位或、^异或、<<左移、>>右移
负数会被当成正数的二进制补码处理。
左移和右移N位等同于无溢出检查的2的N次幂运算。
对长整型来说,位操作符使用一种经修改的二进制补码形式,使得符号位可以无限向左扩展。

6、内建函数与工厂函数
(1)标准类型函数

  • cmp()
  • str()
  • type()

(2)数字类型函数
转换工厂函数:

  • int()
  • long()
  • float()
  • complex()
  • bool()

功能函数:

  • abs()
  • coerce()
  • divmod()
  • pow()
  • rand()

(a)coerce() 数据类型转换函数

coerce(1,134L)=>(1L,134L)coerce(1.3,134L)=>(1.3,134.0)coerce(1j,134L)=>(1j,(1.34+0j))

(b)divmod() 将除法和取余运算

  • 整型:地板除+取余
  • 浮点型:商=math.floor(n1/n2)
  • 复数:商=math.floor((n1/n2).real)
divmod(10,3)=>(3,1)divmod(10,2.5)=>(4.0,0.0)

(c)pow() 乘方
pow()与双星号(**)区别,内建函数pow()可以接受第三个可选参数,表示pow(x,y,z)=pow(x,y)%z用于密码运算,性能比pow(x,y)%z要好
(d)round() 四舍五入
round()函数用于对浮点型进行四舍五入运算。第二个参数告诉round()函数将结果精确到小数点后指定位数。
(3)仅用于整型的函数

  • oct()、hex() (进制转换函数):接受任意进制的整型对象并返回一个对应值的八进制和十六进制的字符串对象。
  • chr() (ASCII(美国标准信息交换码)转换函数):接受一个单字节整型值返回一个字符串
  • ord():接受一个字符返回其对应的整型值.

7、其他数字类型
(1)布尔型(2.3)
没有__nonzero__()方法的对象的默认值是True。

class C    def __nonzero__(self):        return Falsec=C()bool(c)=>Falsebool(C)=>True

(2)十进制浮点型(2.4)
decimal模块

0 0
原创粉丝点击