Subsections
缩进
注释
类型
数学运算
流程控制
数据结构
一、缩进
Python开发者有意让违反了缩进规则的程序不能通过编译,以此来强制程序员养成良好的编程习惯。并且Python语言利用缩进表示语句块的开始和退出(Off-side规则),而非使用花括号或者某种关键字。增加缩进表示语句块的开始,而减少缩进则表示语句块的退出。缩进成为了语法的一部分。
二、注释
''' 多行注释
# 单行注释
三、类型
Python采用动态类型系统。在编译的时候,Python不会检查对象是否拥有被调用的方法或者属性,而是直至运行时,才做出检查。
str 一个由字符组成的不可更改的有串行。在Python 3.x里,字符串由Unicode字符组成。eg:'Wikipedia'
bytes 一个由字节组成的不可更改的有串行。 b'Some ASCII'
list 可以包含多种类型的可改变的有串行 [4.0, 'string', True]
tuple 可以包含多种类型的不可改变的有串行 (4.0, 'string', True)
set, frozenset 与数学中集合的概念类似。无序的、每个元素唯一。 {4.0, 'string', True}
dict 一个可改变的由键值对组成的无串行。 {'key1': 1.0, 3: False}
int 精度不限的整数 42
float 浮点数。精度与系统相关。 3.1415927
complex 复数 3+2.7j
bool 逻辑值。只有两个值:真、假 True False
四、数学运算
Python使用与C、Java类似的运算符,支持整数与浮点数的数学运算。大多数数学函数处于math和cmath模块内。前者用于实数运算,而后者用于复数运算
import math
print(math.sin(math.pi/2))
五、流程控制
5.1 if Statements
5.2 for Statements
5.3 break and continue Statements
break 语句和 C 中的类似,用于跳出最近的一级 for 或 while 循环。
continue 语句是从 C 中借鉴来的,它表示循环继续执行下一次迭代。
5.4 The range()
如果你需要一个数值序列,内置函数range()可能会很有用,它生成一个等差级数链表。
>>> range(5, 10)
[5, 6, 7, 8, 9]
>>> range(0, 10, 3)
[0, 3, 6, 9]
5.5 pass Statements
pass 语句什么也不做。它用于那些语法上必须要有什么语句,但程序什么也不做的场合
5.6 Defining Functions 定义函数
过程只是一个没有返回值的函数
带有返回值的函数
5.7 More on Defining Functions 深入函数定义
有时需要定义参数个数可变的函数。
5.7.1 Default Argument Values 参数默认值 ,最有用的形式是给一个或多个参数指定默认值。这样创建的函数可以用较少的参数来调用。
5.7.2 Keyword Arguments 函数可以通过关键字参数的形式来调用,形如"keyword = value"。
六、数据结构
Data Structures
6.1 More on Lists 深入链表
a = [xx,xxx,xxxx];
a.append(x) 把一个元素添加到链表的结尾,
a.insert(i,x) 在指定位置插入一个元素。
remove(x) 删除链表中值为x的第一个元素。如果没有这样的元素,就会返回一个错误。
pop(i) 从链表的指定位置删除元素,并将其返回。如果没有指定索引,a.pop() 返回最后一个元素。元素随即从链表中被删除。
index(x) 返回链表中第一个值为 x 的元素的索引。如果没有匹配的元素就会返回一个错误。
count(x) 返回x在链表中出现的次数。
sort() 对链表中的元素就地进行排序。
reverse() 倒排链表中的元素。
Using Lists as Stacks 把链表当作堆栈使用
用append() 方法可以把一个元素添加到堆栈顶。用不指定索引的pop() 方法可以把一个元素从堆栈顶释放出来。
Using Lists as Queues 把链表当作队列使用
使用 append() 方法可以把元素添加到队列最后,以0为参数调用 pop() 方法可以把最先进入的元素释放出来.
链表的三个重要内置函数,filter(), map(), 和 reduce()。
filter(function, sequence) 返回一个sequence(序列),包括了给定序列中所有调用function(item)后返回值为true的元素。
map(function, sequence) 为每一个元素依次调用function(item)并将返回值组成一个链表返回。
可以传入多个序列,函数也必须要有对应数量的参数,执行时会依次用各序列上对应的元素来调用函数。如果某些序列比其它的短,就用None来代替
reduce(function, sequence) 返回一个单值,它是这样构造的:首先以序列的前两个元素调用函数,再以返回值和第三个参数调用,依次执行下去。
6.2 The del statement
6.3 元组(Tuples)和序列(Sequences)
6.4 Sets 集合
6.5 Dictionaries
6.6 Looping Techniques 循环技术
在字典中循环时,关键字和对应的值可以使用 items() 方法同时解读出来。
在序列中循环时,索引位置和对应值可以使用 enumerate() 函数同时得到。