1.str和repr显示格式
str:默认的交互模式回显
repr:打印
2. 在python3中/总是执行真除法(不管操作数的类型,都返回包含任意余数的一个浮点结果)
>>> 3/3 1.0
//执行Floor算法,截除掉余数并且针对证书操作数返回一个整数,任何一个操作数是浮点类型,返回浮点数
>>> 3//3 1 >>> 3.0//3 1.0 >>> 3//3.0 1.0
//针对两个操作数都是整数,返回值不是直接截断取整数部分而是向下舍入,这个跟Python的math模块是一样的
>>> import math >>> math.floor(2.5) 2 >>> math.floor(-2.5) -3 >>> 5//2 2 >>> 5//-2 -3 >>> -5//2 -3
如果想要直接截断整数,使用math.trunc方法
>>> import math >>> math.trunc(5/2) 2 >>> math.trunc(-5/2) -2
截断和Floor方法,也可以使用round,四舍五入
>>> round(2.567),round(2.467),round(-2.567),round(-2.467),round(2.567,2) (3, 2, -3, -2, 2.57)
为了在2.6中兼容3.0的/而不是用浮点转换来强制需要在代码中添加
>>> from __future__ import division >>> 10/4 2.5
3.二级制,八进制,十六进制转换
oct函数:十进制=>八进制
hex函数:十进制=>十六进制
bin函数:十进制=>二进制
int函数:将一个数字的字符串变换成一个整数,并且通过第二个参数来确定变换后的数组的进数
>>> int('64'),int('64',8),int('64',16),int('10',2) (64, 52, 100, 2) >>> int('0o12',8),int('0xa',16),int('0b1010',2) (10, 10, 10)
4.三种方式计算平方根
>>> import math >>> math.sqrt(144) #使用一个模块函数 12.0 >>> 144 ** .5 #使用一个表达式 12.0 >>> pow(144, .5) #使用一个内置函数 12.0
5.random模块,得到一个0~1之间的任意浮点数,选择在两个任意数之间的整数,在一个序列中任意挑选一条
>>> import random >>> random.random() #得到一个0~1之间的任意浮点数 0.7643423385016586 >>> random.random() 0.048171743182888305 >>> random.randint(1,10) #选择在两个任意数之间的整数 2 >>> random.randint(1,10) 8 >>> random.choice(['a','b','c','d']) #在一个序列中任意挑选一条 'd' >>> random.choice(['a','b','c','d']) 'b'
6.小数数字,因为用来存储数值的空间有限,浮点数缺乏精确性,小数对象可以修正这一问题,当不同精度的小数在表达式中混编时,python会自动升级为小数位数最多的
>>> from decimal import Decimal >>> print(Decimal('0.1')+Decimal('0.1')+Decimal('0.1')-Decimal('0.3')) 0.0 >>> print(Decimal('0.1')+Decimal('0.10')+Decimal('0.1')-Decimal('0.3')) 0.00
7.分数类型,可以保留一个分子和分母,从而避免了浮点数字的不精确行和局限性
>>> from fractions import Fraction
>>> x=Fraction(1,3)
>>> y=Fraction(2,3)
>>> x+y
Fraction(1, 1)
>>> Fraction('.25')
Fraction(1, 4)