数字
数字分为:整数(没有小数部分的数)、浮点数(有小数部分的数)、长整型(无限大或无限小的整数)、复数(分为实部和虚部的数)、十进制数(精度固定的浮点数)和集合。
- 浮点数带一个小数点,也可以加上一个科学计数标志e或E,3.14e-10,4.0e+10。浮点数如果为纯小数,书写时可以省略整数部分,如0.10可以写成.10。
- 如果整数以l或L结尾,则表示长整型数,如345L, 345l。长整型的数精度是无限的,即可以任意大和任意小,在Python中,如果一个整数的值超过32位时,将会自动升级为长整型,而不需要自己输入L。
- 复数写成实部+虚部,虚部以j或J结尾,如2 + 3j, 2.1 + 3.2J,实际上复数就是两个浮点数。
- 八进制以数字0开头,如000,001,077,如果整数以0开头就被认为是八进制数。
- 十六进制数以0x或0X开头,后面大小写均可。如0xff,0x00,0xAA。
1. 操作符
除了+,-,*,/外的基本操作符如下所示:
操作符 | 描述 |
x << y,x >> y | 左移y位,右移y位 |
x | y | 位或 |
x ^ y | 位异或 |
x & y | 位与 |
x % y | 异或 |
~x | 按位求补,如~1 == -2 |
x // y | Floor除法,不包含正常除法得到结果的小数部分 |
x ** y | x的y次幂 |
2. 强制类型转换
>>> int(3.1415) #转换成整型 3 >>> float(3) #转换成浮点型 3.0 >>> long(4) #转换成长整型 4L
3. 进制转换
>>> oct(64) #十进制转换成8进制 '0100' >>> hex(64) #十进制转换成16进制 '0x40' >>> int('0100'), int('0100', 8), int('0x40', 16)#转换成十进制 (100, 64, 64)
int函数会将一个数字的字符串转换成一个整数,int(字符串,进制),第2个参数为可选,默认为十进制。
4. 小数对象
小数对象就像浮点数,但是其小数位数是固定的,如只保留2位小数。十进制数(精度固定的浮点数)是小数对象。由于浮点数在精确方面存在一定的缺陷,因此额外添加了小数对象。例如,下面的计算结果应该为0,但是却没有。
>>> 0.1 + 0.1 + 0.1 - 0.3 5.551115123125783e-17
而使用小数对象可以解决这个问题。
>>> from decimal import Decimal #导入模块 >>> Decimal('0.1') + Decimal('0.1') + Decimal('0.1') - Decimal('0.3') Decimal('0.0')
5. 集合
集合的创建方法如下:
>>> x = set('abc') >>> x set(['a', 'c', 'b']) >>> y = set([1, 2, 3]) >>> y set([1, 2, 3]) >>> z = set(['ab', 'c']) >>> z set(['c', 'ab']) >>> z = set(['ab', 'c', 'c']) #集合会自动去掉重复的元素 >>> z set(['c', 'ab']) #集合是没有顺序的概念的
集合还支持差、并、交的运算:x - y,x | y,x & y