python学习手册(第4版) 第五章
回顾第四章,主要概述数值、字符串、列表、字典、元组、集合等数据类型的一些属性和方法,学习了一些新的操作技巧。
现开始学习第五章,主要学习数值类型的使用。
repr(1)和str(1)得到的结果一样
>>>a = 1.0
>>>a.is_integer() #浮点数的is_integer()方法,判断浮点数的小数部分是否为0,是则返回True
True
>>>b = 0b11101 #将二进制数据转化为十进制
29
>>>bin(29) #将十进制数据转化为二进制,返回一个字符串
'0b11101'
>>>int(bin(29),2) #将数值型字符串转化为二进制,2,8,16分别代表二进制、八进制、十六进制,返回为十进制的值
29
>>>b.bit_length() #返回二进制数据所必需的位数
5
>>>oct(2) #将十进制数据转化为八进制,返回一个字符串
'0o2'
>>>hex(2) #将十进制数据转化为十六进制,返回一个字符串
'0x2'
>>>5/2.1
2.380952
>>>5//2.1 #使用'//',将小数部分去掉,称为floor除法
2.0
>>>4//5 #如果是整型,则返回整型的结果
0
>>>import math
>>>math.floor(-2.5) #floor()除法,属于不完全截断除法(结果大于0时截断,结果小于0时不属于截断)
-3
>>>math.trunc(-2.5) #trunc()称为截断除法,无论正负,直接去掉小数部分
-2
>>>d = [1,2,3,4,5,6,7,8]
>>>d[1:5:2] #列表使用切片,返回一个列表
[2,4]
>>>d[slice(1,5,2)] #使用切片的另一种方式
[2,4]
越靠后,python数值操作符的优先级越高,优先级相同则从左至右执行
python的多态,
如使用'+',如果对象是数值型,则执行加法运算;如果对象是字符串,则执行合并运算。
这种操作的意义取决于操作对象的类型,称为多态。
>>>1 < 2 < 3 #等同于 1 < 2 and 2 < 3,而不是1 < 2的结果1(表示True),再进行1 < 3。
True
>>>1 < 2 > 0.2
True
>>>import math
>>>math.sqrt(4) #开平方,返回浮点数
2.0
>>>pow(2,4) #相当于2**4
16
>>>import random
>>>random.random() #返回0-1的随机小数
0.12215483542
>>>random.randint(1,10) #返回1-10的随机整数
3
>>>random.choice(['a','b','c','d']) #返回列表中随机的一个元素
'c'
>>>import decimal
>>>decimal.getcontext().prec = 2 #小数数据类型,设置小数的精度为2
>>>decimal.Decimal('2')/decimal.Decimal('3') #传入数值型字符串或者数值,得到小数数据类型,再进行计算,结果精度已由上一行确定
Decimal('0.67')
>>>float(Decimal('0.67')) #将小数类型转化为浮点数,返回浮点数
0.67
>>>import fractions
>>>a = fractions.Fraction(1,3) #分数数据类型
>>>b = fractions.Fraction(1,5)
>>>a #返回分数,结果自动约分
Fraction(1,3)
>>>a + b
Fraction(8,15)
>>>print(a)
1/3
>>>float(a) #将分数转化为浮点数,返回浮点数
0.3333333