[关闭]
@EncyKe 2016-11-14T10:02:15.000000Z 字数 7972 阅读 4237

手册:Python

#手册 Python



1. 简介

1.1. 特点

1.2. 对比

1.3. 版本

现有 2.7 版本及 3.3 版本,后者缺少更多的第三方库的支持;语法上稍不兼容,2.7 版有较多第三方库,3.3 版上无法运行。

2. 基础规范

2.1. 缩进规则

2.2. 注释语句

3. 变量

3.1. 整数

3.2. 浮点数

3.3. 字符串

3.3.1. ' 和 "

3.3.2. 转义字符

转义字符 表示
\' '
\" "
\n 换行
\t 一个制表符
\\ \

3.3.3. raw 字符

3.3.4. 多行字符

  1. '''Line 1
  2. Line 2
  3. Line 3'''

3.3.5. 编码

3.4. 布尔值

3.5. 空值

3.6. 变量

4. 数据类型

4.1. List 类型

List 类型
一种有序集合,可以随时添加和删除其中的元素。

4.1.1. 声明 List

  1. list = [变量一,变量二,变量三,...]

4.1.2. 访问 List 的某个量

  1. list名[数值]

4.1.3. 新增 List 的某个量

  1. list名.append('新变量')
  1. list名.insert(数值, '新变量')

4.1.4. 删除 List 的某个量

  1. list名.pop()
  1. list名.pop(数值)

4.1.5. 替换 List 的某个量

  1. list名[数值] = 新变量

4.2. Tuple 类型

Tuple 类型
tuple 是另一种有序的列表,称为元组;tuple 和 list 非常类似,但 tuple 一旦创建完毕,就不能修改了。

4.2.1. 声明 Tuple

  1. tuple = (变量一, 变量二, 变量三, ...)

4.2.2. 声明可变的 Tuple

  1. t = ('a', 'b', ['A', 'B'])
  2. L = t[2]
  3. L[0] = 'X'
  4. L[1] = 'Y'

4.3. Dict 类型

Dict 类型
dict 是一种对应的集合,可通过 key 来查找对应的 value,key 不可以重复。

4.3.1. 声明 Dict

  1. dict = {
  2. key1: value1,
  3. key2: value2,
  4. ...,
  5. keyn: valuen
  6. }

4.3.2. 获取 Dict 长度

  1. len(dict名)

4.3.3. 访问 Dict

  1. dict名[key名]
  1. if key in dict名:
  2. print dict名[key名]
  1. dict名.get(key名)

4.3.4. 新建或修改 Dict 的 key-value

  1. dict名[key] = value

4.3.5. 遍历 Dict

  1. for key in dict名:
  2. print key

4.4. Set 类型

Set 类型
set 持有一系列元素,与 list 类似;但无序且不能包含重复的元素,与 dict 的 key 类似。

4.4.1. 声明 Set

  1. s = set(['A', 'B', 'C', 'A'])

4.4.2. 访问 Set

访问 set 中的某个元素实际上就是判断一个元素是否在 set 中,将返回布尔值,注意 set 中大小写敏感;

  1. print 变量 in set

4.4.3. 遍历 Set

  1. for name in set名:
  2. print name

4.4.4. 更新 Set

5. 运算

5.1. 数值运算

5.2. 布尔值运算

5.3. 短路计算

6. 语句

6.1. print 语句

6.2. if 语句

  1. age = 20
  2. if age >= 18:
  3. print 'your age is', age
  4. print 'adult'
  5. print 'END'

若在 Python 交互环境下,还要特别留意缩进,并且退出缩进需要多敲一行回车:

  1. >>> age = 20
  2. >>> if age >= 18:
  3. ... print 'your age is', age
  4. ... print 'adult'
  5. ...
  6. your age is 20
  7. adult

6.3. if-else 语句

  1. if 条件:
  2. 代码1
  3. else:
  4. 代码2

6.4. if-elif-else 语句

  1. if 条件1:
  2. 代码1
  3. elif 条件2:
  4. 代码2
  5. elif 条件3:
  6. 代码3
  7. ...
  8. else:
  9. 代码n

6.5. for 循环

  1. for 条件:
  2. 代码
  1. list = []
  2. for name in list名:
  3. print name

6.6. while 循环

  1. while 条件:
  2. 代码

6.7. break 语句

  1. sum = 0
  2. x = 1
  3. while True:
  4. sum = sum + x
  5. x = x + 1
  6. if x > 100:
  7. break
  8. print sum

6.8. continue 语句

  1. #-*- coding:utf-8 -*-
  2. sum = 0
  3. x = 0
  4. while True:
  5. x = x + 1
  6. if x > 100:
  7. break
  8. if x % 2 == 0:
  9. continue
  10. sum += x
  11. print sum

6.9. 多重循环

  1. # 打印出一个全排列
  2. for x in ['A', 'B', 'C']:
  3. for y in ['1', '2', '3']:
  4. print x + y

7. 函数

7.1. Python 内置函数

7.2. 创建函数

  1. def 函数名(参数):
  2. 代码
  3. return 参数

7.3. 返回多值

7.4. 递归函数

递归函数
在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。
  1. # 阶乘函数;
  2. def fact(n):
  3. if n==1: # 对1作特殊处理
  4. return 1
  5. return n * fact(n - 1)

7.5. 定义默认参数

  1. # 计算 x 的 N 次方的函数;
  2. def power(x, n):
  3. s = 1
  4. while n > 0:
  5. n = n - 1
  6. s = s * x
  7. return s
  1. # 计算 x 的 N 次方的函数,默认为平方;
  2. def power(x, n=2):
  3. s = 1
  4. while n > 0:
  5. n = n - 1
  6. s = s * x
  7. return s

调用语法:

  1. power(x)

7.6. 定义可变参数

声明语法:

  1. def 函数名(*变量):
  2. 代码

8. 操作

8.1. 切片

8.1.1. 对 list 或 tuple 切片取值

  1. list名[n:m:k]
  2. # 或者——
  3. tuple名[n:m:k]

8.1.2. 对 list 倒序取值

  1. L = ['Adam', 'Lisa', 'Bart', 'Paul']
  2. L[-2:]
  3. # ==> ['Bart', 'Paul']
  4. L[:-2]
  5. # ==> ['Adam', 'Lisa']
  6. L[-3:-1]
  7. # ==> ['Lisa', 'Bart']
  8. L[-4:-1:2]
  9. # ==> ['Adam', 'Bart']

8.1.3. 对字符串切片取值

  1. 'ABCDEFG'[:3]
  2. # ==> 'ABC'
  3. 'ABCDEFG'[-3:]
  4. # ==> 'EFG'
  5. 'ABCDEFG'[::2]
  6. # ==> 'ACEG'

8.1.4. 大小写转化

8.2. 迭代与集合

迭代
给定一个 list 或 tuple,可通过 for...in... 来遍历这个 list或tuple,这种遍历我们成为迭代 (Iteration)。
集合
是指包含一组元素的数据结构。

8.2.1. 索引迭代

  1. for index, name in enumerate(list名):
  2. print index, '-', name
  1. for t in enumerate(list名):
  2. index = t[0]
  3. name = t[1]
  4. print index, '-', name
  1. zip([10, 20, 30], ['A', 'B', 'C'])
  2. # ==> [(10, 'A'), (20, 'B'), (30, 'C')]

8.2.2. 迭代 dict 的 value

  1. dict = {...}
  2. for v in dict名.values():

8.2.3. 迭代 dict 的 key 和 value

  1. for key, value in dict名.items():
  2. print key, ':', value

8.3. 列表

8.3.1. 列表生成式

  1. [x * x for x in range(1, 11)]
  2. # ==> [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

8.3.2. 条件过滤式

  1. [x * x for x in range(1, 11) if x % 2 == 0]
  2. # ==> [4, 16, 36, 64, 100]

8.3.3. 多层表达式

  1. [m + n for m in 'ABC' for n in '123']
  2. # ==> ['A1', 'A2', 'A3', 'B1', 'B2', 'B3', 'C1', 'C2', 'C3']

8.3.4. 复杂表达式

  1. d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
  2. def generate_tr(name, score):
  3. if score < 60:
  4. return '<tr><td>%s</td><td style="color:red">%s</td></tr>' % (name, score)
  5. return '<tr><td>%s</td><td>%s</td></tr>' % (name, score)
  6. tds = [generate_tr(name, score) for name, score in d.iteritems()]
  7. print '<table border="1">'
  8. print '<tr><th>Name</th><th>Score</th><tr>'
  9. print '\n'.join(tds)
  10. print '</table>'

附:参考

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注