一. 数字和表达式
- 一个整数被另一个整数除,计算结果的小数部分被解除,只留下整数部分。但一般咱们要用普通的除法,有两个解决方法:
- 使用浮点数——参与除法的两个数中有一个为浮点数,运算结果也会是浮点数
- 让 Python 改变除法的执行方式
- 能够在程序前加上如下语句,或者直接在命令行中执行它
from __future__ import division
- 若是在命令行运行 Python,可使用命令开关 -Qnew。
- 使用以上两种方法,/ 就只执行普通的除法运算,而非整除。此时 Python 提供了另外一个用于实现整除的操做符——双斜杠 //。注意:即便是浮点数,双斜线也会执行整除。
- 幂运算符:**
>>>2 ** 3
8
- 注意:幂运算符的优先级比取反运算符高,因此如下代码输出为 -9。
>>>- 3 ** 2
-9
- 长整数
- 普通整数不能大于 2147483647,若是须要更大的数,可使用长整数。
- 长整数的书写方式跟普通整数基本同样,只是在最后面加了个 L(大写便于区分)。
二. 变量
- 变量就是引用某值得名字
- 变量名能够包括字母、数字、下划线,且不能以数字开头
- 使用变量前,须要先赋值。
三. 函数
- 前面介绍了幂运算符,咱们还能够用函数 pow(x, y[, z]) 来实现相同的效果。
>>>pow(2, 3)
8
- 一般把 pow 等标准函数称为内建函数
- 扩展两个内建函数:
- abs:获取数的绝对值
>>>abs(-10)
10
- round 函数:将浮点数四舍五入为最接近的整数值
>>>round(1.0 / 2.0)
1.0
四. 模块
- 咱们可使用 import 命令,将模块导入 Python 以加强功能扩展。使用步骤以下:
- 用 import 导入模块
- 按“模块.函数”的格式使用这个模块的函数
- 示例以下:导入 math 模块,使用其 floor 函数,功能为向下取整。
>>>import math
>>>math.floor(32.9)
32.0
若是想获取整数结果,可使用 int 函数:
>>>import math
>>>int( math.floor(32.9) )
32
实际上,int 函数会自动向下取整,无需使用 math.floor 函数。在此只是展现 int 函数的做用。除 int 函数外,float、long 等函数也有相似的做用。
- 在肯定本身导入的各模块不会出现同名函数的状况下,咱们但愿不要每次使用函数时都写上模块的名字。此时可使用 import 命令的另一种形式——“from 模块 import 函数”。示例以下:
>>>from math import sqrt
>>>sqrt(9)
3.0
- 可使用变量来引用函数或 Python 中的绝大多数变量。好比,为 foo 变量赋值:foo=math.sqrt,以后就能够用 foo 来计算平方根了。
1. cmath 和复数
- 咱们将负数做为参数传入 sqrt 函数,看看会有怎样的结果:
>>> from math import sqrt
>>> sqrt(-1)
Traceback (most recent call last):
File "<pyshell#8>", line 1, in <module>
sqrt(-1)
ValueError: math domain error
或者,其余平台下会有以下结果:
sqrt(-1)
nan
nan 是“not a number”(非数值)的简写
- 由上面的代码可知,sqrt 只能处理大于 0 的浮点数,处理复数须要使用 cmath(complex math)模块来处理
>>>import cmath
>>>cmath.sqrt(-1)
1j
2. __future__
- __future__ 能够导入那些在将来会成为标准 Python 组成部分的新特性
五. 保存并执行程序
1. 在交互式解释器里输入的一切都会在退出时丢失。咱们如何编写本身和他人都能使用的程序呢?
* 使用纯文本编辑器新建 .py 文件
* 使用 IDLE,File -> New Window 来新建一个编辑窗口,输入内容后保存,按 Ctrl + F5 便可运行。
2. 经过命令提示符运行 Python 脚本
- 假定打开了 DOS 窗口或 UNIX 中的 Sheel 提示符,而且进入了某个包含 Python 可执行文件的目录,或包含了这个可执行文件的目录已经放置在环境变量 PATH 中。
- 使用 python 文件名.py 能够执行脚本。
3. 让脚本像普通程序同样运行
- 有时但愿像运行其余程序同样运行 Python 脚本,而非显式地使用 Python 解释器。
- 在 UNIX 中
- 要在脚本首行加上 #!,在其后加上用于解释脚本的程序的绝对路径。
- 运行脚本以前,要让脚本具备可执行的属性
- 可使用 ./文件名.py 来运行脚本
- 在 Windows 中
- 双击便可运行,但速度很快,还没看清结果就会退出。能够在最后加一个 raw_input,让程序停下来,以便看到结果。
4. 注释
六. 字符串
1. 单引号字符串和转义引号
- 不一样于 C 语言,Python 中字符串用单引号、双引号括起来皆可。
- 合理使用单引号、双引号,能够避免字符串的混淆。譬如如下代码
"She's Lily."
'"Hello", she said.'
- 另外一种方法就是使用反斜杠 \ 进行转义。
2. 拼接字符串
- 拼接字符串有如下两种方法:
- 用一个接着另外一个的方式写两个字符串,Python 会自动拼接它们。可是要注意,只有在同时写下两个字符串,且一个紧接着另外一个的状况下,这种机制才会奏效。
>>> "Let's say" '"Hello world"'
'Let\'s say"Hello world"'
- 用加号将两个字符串链接起来。这里要注意,Java 中,只要使用加号和字符串进行链接,其余类型也会自动转成字符串,但 Python 中没有此功能,因此不能试图将字符串和数值链接起来。
>>> "Let's say" + '"Hello world"'
'Let\'s say"Hello world"'
3. 字符串表示,str 和 repr
- 经过上面的两个例子,咱们能够看到,经过 Python 打印出来的字符串仍是被引号括起来的。这是由于 Python 打印值的时候会保持该值在 Python 代码中的状态,而非咱们但愿用户看到的状态。
- 值被转换为字符串的机制有如下两种
- 使用 str 函数,则会按咱们但愿用户看到的状态输出。
>>> print str"Hello world"
Hello world
- 使用 repr 函数建立一个字符串,它会以合法的 Python 表达式的形式来表示值。
>>>print repr("Hello world")
'Hello world'
repr(x) 也能够写做x
实现(注意是反引号,不是单引号)。但这种方式在 Python 3.0 以后就不在使用了,咱们只需在看到旧代码中这种用法时知道是怎么回事便可。
- 简而言之,str、repr 和反引号是将 Python 值转换为字符串的 3 种方法。
- str 让字符串更易读
- repr 和反引号将结果字符串转换为合法的 Python 表达式
- 区别一
- input 但愿接收合法的 Python 表达式,输入字符串还要带上”“。
- raw_input 直接读取控制台输入(任何类型都能接收)。
- 区别二
- input 在纯数字输入时,会返回输入数字的类型。
- raw_input 将全部输入做为字符串看待,返回字符串类型。
5. 长字符串、原始字符串、Unicode
- 长字符串
- 跨多行的长字符串,可使用三个引号(单引号、双引号都可)代替普通引号
- 因为这种不同凡响的引用方式,咱们能够在长字符串之中同时使用单引号和双引号而不需转义。
- 注意:普通字符串也能够跨行,但要在行末加反斜杠 \ 做为换行符。
- 原始字符串(天然字符串)
- 原始字符串对反斜杠不会特殊对待。这一点在书写正则表达式时尤为有用。
- 原始字符串以 r 打头。
- 原始字符串的最后一个字符不能使反斜杠,不然 Python 不知道是否要结束字符串。
- Unicode 字符串