第一章、基础知识
1.1 安装Python
Windows
Linux 和 Unix
在绝大多数Linux 和 Unix 的系统安装中(包括Mac OS X),Python的解释器就已经存在,可以直接在命令行里面输入Python启动。
退出Python交互式解释器:Ctrl+D
Mac OS
其他发布版
除了官方版本的Python之外,还有其他发布版本可供选择。这些发布版本都是给予由C语言编写的Python标准版本。最有名的算是ActivePython,Stackle算是Python虽然不太出名,但是十分有趣。
时常关注,保持更新
1.2交互式解释器
Hello world
>>> print "Hello, world!"
Hello, world!
注意:Python的代码的每行分隔是以换行符决定,也就是一行就是一行。加上分号也不会有任何作用
1.3算法是什么
1.4数字和表达式
交互式Python解释器可以当作计算器使用,直接输入计算表达式,回车就可以得到结果。但是注意整除等情况,与C语言做法类似,如果要得到浮点结果,参与运算的数必须有浮点数。
>>> 1/2
0
>>> 1.0/2
0.5
如果希望执行普通的除法,可以在计算之前在解释器里面执行:
>>> from __future__ import division
还可以通过开关-Qnew实现。这样的话要实现整除运算,就必须使用//来表示。
其他运算符:- 取余 %- 幂运算 **
长整型数
普通整数的取值范围为(-2147483648,2147483647),即在$-2^31$和$2^31$之间,超过这个范围需要使用长整数,表示方法为在数后面加上L或l。这只是在旧版的Python中比较有用,新版不用担心这种问题。
注意:由于小写的l在某些字体中过于像数字1,所以最好使用大写的L。
十六进制和八进制
十六进制
>>> 0xaf
175
八进制
>>> 010
8
1.5变量
变量名的命名规范跟C语言一样,职能包括数字、字符和下划线(_),不能以数字开头。
1.6语句
注意表达式和语句的区别。
1.7获取用户输入
>>> input("the meaning of life: ")
the meaning of life: 42
42
>>> x=input("x:")
x:2
>>> y=input("y:")
y:3
>>> print x*y
6
1.8函数
通常把幂运算pow()等标准函数称为内建函数 。
1.9模块
可以将模块理解为C中的头文件,当做C++中的类更贴切。例如要使用向下取整行数floor,而floor在名为math的模块中,使用时需要以“module.function”格式使用:
>>> import math
>>> math.floor(32.9)
32.0
>>> int(math.floor(32.9))
32
int函数将32.0转为整数。
在导入多个模块之后,如果确定自己不会导入多个同名函数,可以使用import命令的另外一种形式,from module import function:
>>> from math import sqrt
>>> sqrt(9)
3.0
提示:可以通过变量来引用函数(或者Python中的大多数的对象),比如通过foo=math.sqrt进行赋值,然后就可以用foo来计算平方根,foo(4)。
cmath 和复数
cmath(complex math)模块处理复数的数学运算。比如要计算-1的平方根:
>>> import cmath
>>> cmath.sqrt(-1)
1j
注意:此处没有使用 from module import function 的形式,因为一旦使用这种方式,就没法再使用普通的sqrt函数,出现命名冲突的错误。所以除非真的必要用from这种形式导入模块,否则应该坚持使用import形式。
回到 __future__
可以通过__future__来导入那些在未来会成为标准Python组成部分的新特性。
1.10保存并执行程序
通过命令提示符运行Python脚本
将编写的Python程序保存为filename.py的文件(虽然后缀名.py并不是很必要,但是为了能够方便将其与其他文件区分,添加后缀名仍是很有必要的),然后在命令提示符下运行:
python filename.py
如果想要让它像普通程序一样运行,而不需要显示调用Python解释器,那么在脚本的第一行加上#!(叫做pound bang或者shebang),其后加上Python解释器的绝对路径(跟shell脚本一样的做法)。
#!/usr/bin/env python
但是如果有多个版本的Python共存时,可以直接填写需要制定版本的Python解释器的绝对路径,而不是用env这个技巧,例如:
#!/usr/bin/python2
然后给脚本添加可执行权限,接着就可以直接运行了。
注释
Python的注释都是以井号(#)开头,只有单行注释,没有项C一样的块注释。