1、python中提供了:整数,浮点数,十六进制,八进制,二进制整数,复数,还提供了精度无穷大的整数

2、在python2.6中 0177八进制 0x177十六进制 0b101010二进制而在python3.0中oo177八进制,0x177十六进制,0b1010二进制

3、在python2.6中有两种类型的整数:一般整数和长整数,一个整数可以在末尾加上l或者L,将其强制转化为长整数,当长度超过32时,其自动转化为长整数,我们不需要加上l或者L

在python3.0中,只有一种类型

4、三种函数

hex(数字),oct(数字),bin(数字)将数字转化为十六进制,八进制,二进制,而int(字符串,base)将其他进制的数转化为十进制,这个字符串必须能够转化为数字

>>>num = 10
>>>print(hex(num))
>>>print(oct(num))
>>>print(bin(num))
>>>hex_num = '0x10'
>>>oct_num = '0o10'
>>>bin_num = '0b10'
>>>print(int(hex_num,16))
>>>print(int(oct_num,8))
>>>print(int(bin_num,2))
#输出结果是
0xa
0o12
0b1010
16
8
2
5、在python2.6中可以通过 x <> y 判断x,y是否相等,但是在3.0中通过 x!=y判断,
6、 x < y >z 相当于 xz;L[i,j,k]相当于L[slice(i,j,k)]
>>>x = 3
>>>y = 7
>>>z = 4
>>>print(xz)
>>>L = [1,2,3,4,5]
>>>print(L[slice(0,4)])

7、在python2.6中x/y对于整数相除会舍去小数部分,如果是浮点数相处则会保留小数部分,但在在python3.0中无论是整数还是浮点数都会保留小数部分;无论是Python2.6还是python3.0 x//y都回去掉小数部分,保留整数部分(但是需要注意的是:如果除数和被除数有浮点数,则结果带有小数点的整数),同floor函数等效

例如:

>>>print(10/4)
>>>print(10/4.0)
>>>print(10//4)
>>>print(10//4.0)
输出:
2.5
2.5
2
2.0

8、其中floor函数和trunc函数是有区别的

例如:

>>>from math import floor,trunc
>>>print(floor(10/4))
>>>print(floor(-10/4))
>>>print(trunc(10/4))
>>>print(trunc(-10/4))
输出:
2
-3
2
-2

9、hex(数字),oct(数字),bin(数字)能够把数字转为指定进制的数,int(字符串,进制)能够把指定进制的数转化为 10进制数,eval(字符串)具有同样的功能,但是速度不如前一个

例如:

>>>print(hex(10))
>>>print(oct(10))
>>>print(bin(10))
>>>print(int('f',16))
>>>print(int('10',8))
>>>print(int('10',2))
输出
0xa
0o12
0b1010
15
8
2

10、进制数的格式化

例如:

>>>print('{0:b},{1:o},{2:x}'.format(2,8,16))
>>>print('%o,%x' % ( 8,16))
输出:
10,10,10
10,10

11、常用函数

pow(a,b) a的b字方

abs(a) 求a的绝对值

max(a,b,c,d...)求a,b,c,d,....最大值

min(a,b,c,d...)求a,b,c,d.....最小值

sum(列表,集合,元祖)所有元素的和

math.floor(数字),向下取整

math.trunc(数字), 截断小数部分,保留整数部分

round(数字[,精度]) 四舍五入 ,当精度部分存在时,保留精度位小数,当精度不存在时,取整数

12、内置函数在python3.0中位于builtins模块中,而在python2.6中是__buildtins__

13、random模块的使用,要使用random必须先导入random,random有以下方法

random.random()产生一个随机小数

random.randin(a,b) 返回一个在a,b之间的数字

random.choice(序列) 返回一个在序列中值

14、小数类型,小数类型是指精度固定的,得用小数对象Decimal

Deciaml对象位于decimal模块中,要使用这个对象得先导入才行

from decimal import Decimal

Decimal('0.1')+Decimal('0.1')+Decimal('0.1')-Decimal('0.3') #注意括号中必须是字符串,而且当小数位数不一致时,会自动转化为一致的

15、在Decimal中有一个从浮点数转化为小数的函数

Decimal.from_float(1.25) 浮点数1.25能够转话为小数

16、设置所有小数的精度

decimal.getcontext().prec = 数字

17、在Python中有分数Fraction对象

from fractions import Fraction

x = Fraction(1,3)

y = Fraction(2,3)

print(x) #输出是1/3

这些分数能够进行+,-,*,/

分数对象也能够从浮点数转化而来

例如:Fraction(0.25)或者Fraction('0.25')等价于Fraction(1,4)

18、集合

创建一个集合: x = set('abcde'),y = set('bdxyz')

判断某一个原始是否在集合中: 'e' in x 输出是:true

x和y的差集 x-y 输出:a,c,e

x和y的并集 x|y 输出:a,c,b,e,d,y,x,z 相对应的方法是 union

x和y的交集 x&y 输出:b,d 相对应的方法是intersection

x和y的交集的补集 x^y a,c,e,y,x,z

增加一个元素 x.add('u') 输出 abcdeu

增加几个元素 x.update(set('tq')) 输出abcdetq

19、创建集合的集中方式

set(列表) 例如:x = set(['a','b','c'])

set(字符串) 例如:y = set('abc')

{数据} 例如:{'a','b','c'}

20、不能向一个集合中添加序列和字典,但是可以添加元祖,也就是集合中不能包含字典,列表,但是可以包含元祖

例如:

x = set('abc')

x.add([1,2,3]) #错误

x.add({'a':1,'b':2}) #错误

x.add((1,2,3,4))

21、ozenset:元素一经创建,不可增加、删除和修改。因此没有add、pop、discard、remove和所有以_update结尾的方法。但可以作为左值接受赋值。

frozenset和set混合运算时,返回的值以左边的操作变量为准。

frozenset(a) | set(b) 的返回值就是frozenset,

set(a) | frozenset(b) 的返回值就是set:

22、集合解析

例如:

{x**2 for x in [1,2,3,4]}

或者:{x*2 for x in 'ab'}

23、在Python中bool中的False当做0,而True当做1

例如:True ==1 返回值是真

False==0返回值是0