这篇日志在2011-10-31 01:39:43最后一次修订。
首先要说明,这套笔记不是我整理
有朋友知道原文出去麻烦告知一声,谢谢
数字(chapter5)
- 支持的数字类型: 整型, 长整型, 布尔型, 双精度浮点型, 十进制浮点型和复数
-
整型
- 布尔型 包含True和False两个值的整型
- 标准整数类型 0x表示十六进制, 无前缀表示十进制, 0表示八进制, 0b表示二进制
- 长整型 整数后加L, 表示范围与可用内存大小有关..
- 双精度浮点数: 一个符号位, 52个底位, 11个指数位. 使用后缀e表示指数
-
复数: 实数 + 序数J构成一个复数
-
python中的复数概念
- 虚数不能单独存在, 总是和一个值为0.0的实数部分一起构成一个复数
- 复数由实数部分和虚数部分组成
- 表示虚数的语法: real + imagJ
- 实数部分和虚数部分都是浮点数
- 虚数部分必须有后缀j或J
-
复数的内建属性
- real 复数的实部
- imag 复数的虚部
- conjugate() 返回该复数的共轭复数
-
python中的复数概念
- 强制类型转换规则
- python提供python解释器的启动参数Qdivision_style, -Qnew执行新的除法行为, -Qold执行传统除法行为, 默认是-Qold…-Qwarn和-Qwarnall可以用来度过过渡期
- 幂运算符** 比左侧单目运算符优先级高, 比右侧单目运算符优先级高
-
位运算符: ~, &, |, ^, <<, >>
- 负数会被当成正数的二进制补码处理
- 左移和右移N位等同与无溢出检查的2的N次幂运算
- 长整数的位运算使用一种经过修改的二进制补码形式, 使的符号位可以无限左移
- ~是单目运算符
-
内建函数和工厂函数
-
数字类型函数:
-
转换工厂函数: int(), long(), float(), complex(), 接受参数第一个是要转换的值, 第二个是进制..如果要转换的值是string才能使用第二个函数指定进制.
- python2.2开始, 加入了bool(), 用来将整数1和0转换成为标准布尔值(所有非0数都返回True).
- python2.3的标准数据类型添加了Boolean类型, true和false也有了常量值True和False, 而不再是1和0
- bool(obj) 返回obj对象的布尔值, 也就是obj.__nonzero__()
- complex(real, imag=0.0)
-
功能函数
- abs(number) 返回数字的绝对值, 如果是复数, 返回math.sqrt(num.real2 + num.imag2)
- coerce(number1, number2): 返回按照类型转换规则转换得到的两个数字组成的元组
- divmod(number1, number2) 返回一个包含商和余数的元组, 整数返回地板除和取余操作结果, 浮点数返回的商部分是math.floor(number1/number2), 复数的商部分是ath.floor((number1/number2).real)
- pow()和**功能相同
- round(number[, base]) 对浮点数进行四舍五入运算, base参数是小数位参数, 如果不指定, 返回与第一个参数最接近的整数的浮点形式
- int() 直接去掉小数部分, floor()得到最接近但小于原数的整数, round()得到最接近原数的整数
- 整数的内建函数: hex(), oct(), bin()…ord(“A”) 接受一个ascii或unicode字符, 返回相应的unicode值 ?è char(65L)接受unicode码值, 返回对应的unicode字符.
-
转换工厂函数: int(), long(), float(), complex(), 接受参数第一个是要转换的值, 第二个是进制..如果要转换的值是string才能使用第二个函数指定进制.
-
数字类型函数:
-
其他数字类型
-
布尔数:
- 布尔型是整型的子类, 但是不能再被继承而生成它的子类.
- 没有__nonzero__()方法的对象默认值是True
- 对于值为0的任何数字或空集(空的list|tuple|dict)在python中值都是False
- 数学运算中, True ==1, False == 0
- 十进制浮点数: from decimal import Decimal
-
布尔数:
-
数字科学计算的包
- 高级的Third package: Numeric(NumPy)
-
python自带的数字类型相关模块
- decimal 十进制浮点运算类Decimal
- array 高效数值数组(字符, 整数, 浮点数)
- match/cmatch 标准c库数学运算函数. 常规数学运算在match, 复数运算在cmatch
- operator 数字运算符的函数实现
-
random 伪随机数生成器
- randint(start, end)随机生成start, end之间的一个整数
- uniform(start, end)随机生成范围内的一个浮点数
- randrange([start ,]stop[, step])随机生成start, stop内按step步增数字范围的一个整数
- choice(sequence)随机返回给定的序列中的一个元素


技术贴,纯路过。