Python核心编程(第二版)——笔记

第一章 欢迎来到Python世界
1.5.4 其他的集成开发环境和执行环境

  • 避免双击Python文件打开DOS,但执行完毕后窗口关闭。另一种办法就是在脚本最后一行加raw_input()语句,这样可以保持窗口开着,直到按下回车。
1.8 其他实现
  • 标准Python是用C来编译 的,又称Cpython。还有其他的Python实现。http://python.org/dev/implementations.html
    • Java(Jython)http://jython.org
    • .NET/Mono(IronPython)http://boo.codehaus.org
    • Stacklesshttp://stackless.com
第二章 快速入门
2.1 程序输出,print语句及“hello world”
  • 在交互式解释器中,可以用print语句显示变量的字符串表示,也可以仅用变量名查看变量的原始值。print语句调用str()函数显示对象,交互式解释器则调用repr()函数显示对象。
2.3 注释
  • 有一种叫文档字符串的特别注释,与普通注释不同,文档字符串可以在运行时访问,也可以用来生成文档。
def foo(): 'this is a doc string' return True

2.4 操作符
  • 算数操作符+ - * / // % **逻辑操作符and or not
2.5 变量和赋值
  • Python支持增量赋值,及操作符和等号合并在一起。不支持C语言中的自增1和自减1操作符,因为+-也是单目操作,Python会把--n解释为-(-n)从而得到n。
2.11 if语句
  • Python还支持elif(意指“else-if”)语句
if expression1: if_suite elif expression2: elif_suite else: else_suite

2.20 实用的函数
函数 描述
dir([obj]) 显示对象属性,如果没有参数,则显示全局变量的名字
help([obj]) 帮助
int(obj)
len(obj)
open(fn,mode) 以mode('r'=读,'w'=写)方式打开文件
range([start,]stop[,step]) start默认为0,step默认为1
raw_input(str) str用作提示信息
str(obj)
type(obj) 返回对象类型(返回值本身是一个type对象)
第三章 Python基础
3.1.2 继续(\)
  • 使用反斜杠(\)分行代码。
  • 在使用闭合操作符时,单一语句可以跨多行,例如:在含有小括号、中括号、花括号。
  • 三引号包括的字符串也可以跨行。
3.2.1 赋值操作符
  • Python的赋值语句不会返回值,以下非法x = 1; y = (x = x + 1),链式赋值没有问题y = x = x + 1
3.2.4 “多元”赋值
  • x, y, z = 1, 2, 'a string'或加上括号增加可读性(x, y, z) = (1, 2, 'a string')Python的多元赋值,可实现无需中间变量交换两个变量的值。
3.3.4 专用下划线标识符
  • _xxx不用'from module import *'导入。
  • _xxx_ 系统定义名字。
  • _xxx 类中的私有变量名。
3.4.1 模块结构和布局
  • 如果模块是被导入,__name__的值为模块名;如果被执行,则值为__main__
3.5.4 引用计数
  • del语句删除对象的一个引用。del obj1[, obj2]
第四章 Python对象
4.3.2 None——Python的Null对象
  • Python中有个特殊的类型,被称为Null对象或者NoneType,它只有一个值,那就是None。
>>>type(None)

【Python核心编程(第二版)——笔记】所有类型对象的类型都是type。
>>>type(int) >>>type(type('string'))

4.5.2 对象身份比较
  • Python提供isis not操作符来测试两个变量是否指向同一个对象。a is b等价于id(a) == id(b)
>>> a=1 >>> id(a) 1613476928 >>> b=1 >>> id(b) 1613476928 >>> c=1.0 >>> id(c) 3132405387528 >>> d=1.0 >>> id(d) 3132405387552 >>> d=c >>> id(d) 3132405387528 >>> e='string' >>> id(e) 3132406864448 >>> f='string' >>> id(f) 3132406864448

4.6 标准类型内建函数
函数 功能
cmp(obj1,obj2) if obj1obj2,返回正整型;相等返回0
type(obj)
isinstance(num,int) 返回值为布尔类型
str(obj)
repr(obj)或`obj` 通常情况下obj == eval(repr(obj))是成立的
第五章 数字
5.4 复数
属性 描述
num.real 复数的实部
num.imag 复数的虚部
num.conjugate() 复数的共轭
5.5.3 算术操作符
  • 幂运算操作符比其左侧操作数的一元操作符优先级低,比其右侧操作数的一元操作符优先级高。
5.6.1 标准类型函数
  • cmp()str()type()内建函数,这些函数可用于所有标准类型。
5.6.2 数字类型函数
  • bool()int()long()float()complex()用来将其他数据类型转换为相应的数据类型。
  • abs(num)coerce(num1,num2)divmod(num1,num2)pow(num1,num2,mod=1)round(flt,ndig=1)
5.6.3 仅用于整型的函数
  • oct()hex()用于接收一个整型(任意进制)并返回一个对应值的字符串对象。
函数 操作
chr(num) 将ASCII值的数字转换成ASCII字符,0<=num<=255
ord(chr) 与chr(num)相反
unichr(num) 接受Unicode码值,返回其字符
5.7.1 布尔“数”
  • 没有__nonzero__()方法对象的默认值是True
第六章 序列:字符串、列表和元组

    推荐阅读