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学习手册(第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