以Mark Lutz著的《Python学习手册》为教程,每天花1个小时左右时间学习,争取两周完成。 --- 写在前面的话
2013-7-16 16:30 学习笔记
1,Python支持复数类型、无穷精度整数类型、固定精度十进制类型。
2,在Python中,整数一般以C语言中的长整型表示(注意:不是Python中的长整型),当一个整数超过32位时会自动转换为长整型。复数在内部是通过一对浮点数来表示的。
数字 | 类型 |
1234,-24,0 | 一般整型(C语言中的长整型) |
9999999999999999L | 长整型(无限大小) |
1.23,3.14e-10,4E210,4.0e+210 | 浮点数(C语言中的双精度浮点数) |
0177,0x9ff,0XFF | 八进制和十六进制 |
3+4j,3.0+4.0j,3J | 复数 |
3,Python表达式操作符
操作符 | 描述 |
x if y else z | 三元操作符 |
x or y,x and y,not x | 逻辑运算符 |
x<y,x<=y,x>y,x>=y,x==y,x!=y | 比较运算符 |
x is y,x is not y | 对象身份测试 |
x in y,x not in y | 序列成员测试 |
x|y,x&y,x^y,~x | 位运算 |
x+y,x-y,x*y,x/y,x//y | 四则运算 |
x**y | 幂运算 |
4,可以使用int(),float(),long()等来强制类型转换。
5,x/y 与 x//y 的区别在于,前者对于整数会省略小数部分,对浮点数会保留小数部分;而后者无论对何种类型都会省去小数部分。
6,内置函数oct(),hex() 可以将十进制数转成八进制和十六进制字符串,int()则可以将任意进制字符串转成十进制。例如:
print oct(64),hex(64)
print int('0100'),int('0100',8),int('0x40',16),int('40',16)
运行结果为:
0100 0x40
100 64 64 64
7,Decimal模块实现了固定精度的小数。例如:
import decimal
print Decimal('0.1') - Decimal('0.1')
decimal.getcontext().prec = 4
print Decimal('1') / Decimal('7')
输出结果为:
0.0
0.1429