Chapter 5 数字
数字是直接访问的不可改变的标量。
Python支持的数字类型:整型、长整型、布尔型、双精度浮点型、十进制浮点和复数。
复数的内建属性:实部(num.real),虚部(num.imag),返回共轭复数(num.conjugate())。
真正的除法:通过执行"from __future__ import division"指令,使"/"总是执行真正的除法。
不管在任何时候,"//"总是执行地板除(floor)。
幂运算:幂运算操作符比左侧操作数的一元操作符优先级低,比其右侧操作数的一元操作符的优先级高。
数值运算内建函数:abs(num)、coerce(num1,num2)、divmod(num1,num2)、pow(num1,num2,mod=0)、round(flt,ndig=0)。
仅用于整型的函数:hex()、oct()、chr()、ord()。
十进制浮点型:必须导入decimal模块以便使用Decimal类。
Tags:
数字类型
Chapter 4 Python对象
Python对象的三个特性:身份(id)、类型(type)和值。
None——Python的NULL对象
内部类型切片对象的步进切片特别有用:
>>> foo = 'abcde'
>>> foo[::-1]
'edcba'
>>> foo = [123, 'xba', 342.23, 'abc']
>>> foo[::-1]
['abc', 342.23000000000002, 'xba', 123]
标准类型操作符:
对象身份(id)的比较,使用is和is not。
Python会缓存一些简单的整型和字符串对象。
标准类型内建函数:
cmp()、type()、str()、repr()等同于``、isinstance()
“对象身份比较”比“对象值比较”更有效率。所以对于type(a) is type(b)和type(a) == type(b),通常选用前者。
类型工厂函数:
看上去像函数,实际上是类。当你调用它们时,实际上生成了该类的一个实例。比如:type()、int()、list()、tuple()等。
标准类型的分类:
存储模型:标量类型(数字、字符串),容器类型(列表、元组、字典)。
更新模型:可变类型(列表、字典),不可变类型(数值、字符串、元组)。
访问模型:直接访问(数字),顺序访问(字符串、列表、元组),映射访问(字典)。
其实在Python中,一切都是指针。
Tags:
切片,
对象,
工厂函数,
访问模型
Chapter 3 Python基础
语句和语法:
注释(#)、继续(\)、代码组(:)将头和体分开、语句块用缩进分割、同一行书写多个语句(;)、模块
变量的赋值:
Python中的赋值不是直接将一个值赋给变量,而是将对象的引用传递给变量。
Pthon不支持自增自减(++、--)。
Python的赋值语句无返回值(和C不同),但支持多重赋值,如x = y = z = 1。
通过元组赋值大大提高效率。
模块合理布局:
1.起始行(Unix)
2.模块文档
3.模块导入
4.变量定义
5.类定义
6.函数定义
7.主程序
__name__指示模块的加载:
如果模块是被导入,__name__的值为模块名;如果模块是被直接执行,__name__的值为'__main__'。
内存管理:
通过引用计数器追踪内存中的对象。不再使用的内存被垃圾收集的机制释放。垃圾收集实际上是一个引用计数器和一个循环垃圾收集器。
Tags:
内存管理,
变量赋值,
模块布局
Chapter 2 快速入门
下划线(_)在解释器中有特别含义:表示最后一个表达式的值。
寻求帮助:help()
除法:"/"与其他语言相同。"//"称为地板除(floor),不管操作数为何种数值类型,总是舍去小数部分,返回数字序列中比真正的商小的最接近的数字。
在Python中可以使用3 < x < 6这样的表达式,它等同于3 < x and x < 6。
数字类型:5种基本类型包括有符号整型(int)、长整型(long)、布尔值(bool)、浮点值(float)、复数(complex)。其中长整型类似于Java的BigInteger,而非C语言中的长整型。这种长整型仅受限于用户计算机的虚拟内存总数。复数类型的一般表达式为6.23+1.5j。第6种数字类型decimal用于十进制浮点型,它不是内建类型,需要导入decimal模块。其出现的原因是浮点类型无法用二进制精确表达。
Python代码块通过缩进对齐表达代码逻辑,而不是使用大括号。
for循环:Python中的for循环与传统的for循环不太一样,更像shell中的foreach迭代。
Tags:
for循环,
数字类型
Chapter 1 欢迎来到Python世界
Python是解释型语言并采用字节编译改善性能。
Python的集成开发环境:其中IDLE通用于Unix衍生系统与Windows环境。IDLE在发行版中自带并默认安装。
Stackless:使得CPython的一个C栈帧可以拥有任意数量的Python栈帧。但由于其对现有CPython解释器做了重大修改,所以它几乎是一个独立的分支。
Tags:
IDLE,
Stackless,
字节编译