重温python的知识结构
python程序的结构:
程序由模块构成;
模块包含语句;
语句包含表达式;
表达式创建并处理对象;
python的语句
语句
功能
赋值
创建引用值
调用与其他表达式
运行函数
print调用
打印对象
if/else/elif
选择动作
for/else
序列迭代
while/else
通用循环
pass
空占位符
break
循环退出
continue
循环继续
def
函数与方法
return
函数结果
yield
生成器函数
global
命名空间
nonlocal
命名空间
import
获取模块
from
获取属性
class
构建对象
try/except/finally
捕捉异常
raise
触发异常
assert
调试检查
with/as
上下文管理器
del
删除引用
两种不同的if
采用类C语言的语法编写的if语句:
if (x > y){
x = 1;
y = 2;
}
采用python语言中与之等价的语句:
if x > y:
x = 1
y = 2
可以很明显看出python语句更加简洁、易懂和紧凑。
python增加的元素
python中新的语法成分时冒号(:)。所有python的复合语句(即内嵌了其他语句的语句)都有相同的一般形式,也就是首行以冒号结尾,首行下一行嵌套的代码往往按缩进的格式书写,如下所示:
header line:
nested statement block
python删除的元素
括号是可选的
在类C语言中都需要将表达式放入括号内,但在python程序中括号是可选的;
if (x > y)
if x > y
以上两个if语句是等效的,但是正宗的‘python式’做法就是在这类语句中完全省略;
行终止就是语句终止
在类C语言中第二个重要的元素式行末的分号,在python中是不必要的;
x = 1;
x = 1
缩进的结束就是代码块的结束
采用类C语言的语法编写的if语句:
if (x > y){
x = 1;
y = 2;
}
采用python语言中与之等价的语句:
if x > y:
x = 1
y = 2
为什么采用缩进语法
根据逻辑结构将代码对齐是使程序具有可读性的重要步骤,程序因此具备了可重用性和可维护性。
几种特殊情况
语句规则的特殊情况
当一行中出现某一行挤进多条语句的情况,这时它们由分号隔开:
a = 1; b = 2; print(a + b)
相反的一条语句的范围可以横跨多行,需要实现这个操作,需要用一对括号把语句扩起来,这包括圆括号、中括号或大括号;
mylist = [111111,
222222,
333333]
X = (a + b +
c + d)
有一条比较古老的规则也允许我们跨越数行的方法,就是在语句最后使用反斜杠;
X = a + b + \
c + d
代码块的特殊情况
嵌套代码块中的语句一般通过向右缩进相同的量来相互关联。但是有一个特殊的情况,复合语句的主体可以出现在python首行冒号之后:
if x > y: print(x)