Python核心编程 第五章 数字
2011年 03月 06日 星期日 17:12:39 CST
1.数字提供了标量存储和直接访问。它是不可更改类型,也就是说变更数字的值会生成新的对象。
2.Python支持多种数字类型:整型、长整型、布尔型、双精度浮点型、十进制浮点型和复数。
3. Python的长整型类型能表达的数值仅仅与你的机器支持的(虚拟)内存大小有关,也就是说,Python能轻松表达很大的整型。
4.Python中关于负数的几个概念
虚数不能单独存在,它们总是和一个值为0.0的实数部分一起来构成一个复数。
复数由实数部分和虚数部分构成。
表示虚数的语法:real+imagj。
实数部分和虚数部分都是浮点型。
虚数部分必须有后缀j或J。
5.注意算术运算中的类型转换,基本原则是:整型转换为浮点型,非复数转换为复数。Python提供了coerce()内建函数来实现这种转换。
6.Python支持单目操作符正号(+)和负号(-);双目操作符+、-、*、/、%和**,分别表示加法、减法、乘法、除法、取余和幂运算。从Python2.2起,还增加了一种新的整除操作符//。
7.注意浮点型以及复数的取余问题
8.位操作符(只适用于整型):取反(~),按位与(&)、或(|)和异或(^),以及左移(<<)和右移(>>)。
9.Python这样处理位运算
负数会被当成正数的二进制补码处理
左移和右移N位等同于无溢出检查的2的N次幂运算:2**N
对长整型来说,位操作符使用一种经修改的二进制补码形式,使得符号位可以无限向左扩展。
10.所谓工厂函数就是指这些内建函数都是内对像,当调用它们时,实际上是创建了一个类实例。
11.进制转换函数(仅用于整型):oct()和hex();ASCII转换函数:chr()和ord()
12.布尔“数”
布尔型是整型的子类,但是不能再被继承而生成它的子类。
没有__nonzero__()方法的类的对象的默认值是True。
对于值为零的任何数字或空集(空列表、空元组和空字典等)在Python中的布尔值都是False。
页:
[1]