含义: Python中数字类型并不是一个真正的对象类型,而是一组类似类型的分类。
数字类型完整工具包括
- 整数浮点型
- 复数
- 固定精度的十进制数
- 有理分数
- 集合
- 布尔类型
- 无穷的整数精度
- 各种数字内置函数和模块
1.数字常量
整数和浮点数常量 : 整数以十进制的字符串写法出现,浮点带有小数点,也可以加上一个科学计数标志E/e 编写中带有小数点Python中会自动识别为浮点类型
整数 Python2.6中分为长整数(32位) 和长整数(无穷精度)并且一个整数可以以L/l结尾,被迫成为长整数,输入时候不需要手动输入L/l,需要精度的时候Python自动转为长整数。
Python3.0中统称为整数 长整数不会以L/l结尾,自动转换。十六进制、八进制和二进制
十六进制 0x/0X开头 字母不区分大小写
八进制 0o/0O 开头
二进制 0b/0B 开头
内置函数 hex(I)、 oct(I)、 bing(I) 转换这三种形态
number4 = 234323223
print (oct(number4 ),hex(number4),bin(number4))
# ('01575676427', '0xdf77d17', '0b1101111101110111110100010111')
print (eval('65'),eval('0o14453'),eval('0xf40e47'),eval('0100000'))
# 字符串转为10进制 (65, 6443, 15994439, 32768)
- 复数 实部+虚部的写法,虚部以J/j结尾,内置函数complex(real,imag) 创建
2. Python 表达式操作符
3. 比较:一般和连续比较
#!/usr/bin/env python
# -*- coding:utf8 -*-
# 加上上面一句支持中文编码
number1 = 1
number2 = 2
number3 = 3
print (number1>number2) # False 单比较
print (number1<number2<number3) #True 连续比较
4.除法:传统除法、Floor除法和真除法
- 传统除法 X/Y 保留小数 2.6中对于浮点型 保留小数 整数相除执行传统除法 3.0都返回浮点型 执行真除法
- Floor除法 X//Y 只取整数
#!/usr/bin/env python
# -*- coding:utf8 -*-
# 加上上面一句支持中文编码
number1 = 1.1111111
number2 = 2
number3 = 3
print (number2/number1) # 1.800000018
print (number3/number2) # 1
print (number2// number1) # 1.0
5.分数
from fractions import Fraction
x = Fraction(1,3)
y = Fraction(2,5)
print (x) # 1/3
print (x + y) # 11/15
print (x *y) # 2/15
from fractions import Decimal
x = Decimal('0.3') #字符串转数字
y = Decimal('0.4')
print (x +y) # 0.7
import decimal
decimal.getcontext().prec = 2 #总共取两位 后一位 四舍五入
print (decimal.Decimal(1) + decimal.Decimal('2.353232')) # 3.4
z = (2.5).as_integer_ratio() # (5, 2) float转元组
print (z)
f = 2.5
q = Fraction(*f.as_integer_ratio()) # *把元组扩展到单个参数中
print (Fraction(1,12) + f) # 2.58333333333