第一章 欢迎来到Python世界
1.5.4 其他的集成开发环境和执行环境
- 避免双击Python文件打开DOS,但执行完毕后窗口关闭。另一种办法就是在脚本最后一行加
raw_input()
语句,这样可以保持窗口开着,直到按下回车。
1.8 其他实现
第二章 快速入门
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)
<class 'NoneType'>
所有类型对象的类型都是type。
>>>type(int)
<class 'type'>
>>>type(type('string'))
<class 'type'>
4.5.2 对象身份比较
- Python提供
is
和is 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 obj1<obj2,返回负整型;if obj1>obj2,返回正整型;相等返回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
。
第六章 序列:字符串、列表和元组