语句简介
Python的语句
两个if的故事
在类似C/C++语言中,if语句如下:
if(x>y)
{
x = 1;
y = 2;
}
而在Python中等价的写法如下:
if x > y:
x = 1
y = 2
对比上述两种方式,可以发现:
(1).Python中新的语法成分是冒号(?。所有Python的复合语句都有相同的形式,也就是首行以冒号结尾,首行下一行嵌套的代码往往按缩进的格式书写。
(2).Python通常删除语句顶端位于测试两侧的一对括号。
(3).Python终止行就是终止语句,不会出现类C语言那样用分号终止语句。
(4).Python缩进的结束就是代码块的结束
Python并不在乎怎么缩进(你可以使用空格或制表符)或者缩进多少(你可以使用任意多个空格或是制表符)。实际上,两个代码块的缩进可以完全不同,但是语法规定一个单独的嵌套块中所有语句都必须缩进相同的距离。
为什么使用缩进语法
缩进正是Python精心设计的特点:迫使程序员写出统一、整齐并具有可读性程序的主要方式之一。
考虑如下C语言语句:
if(x)
if(y)
statement1;
else
statement2;
上述代码块中else是与if(y)成嵌套语句,在C语言中else根据最近的if语句成嵌套块,但是在Python中,我们则根据缩进的形式判断,如下所示:
if x:
if y:
statement1;
else:
statement2;
这里的else垂直对齐的if就是其逻辑上的if(外层的if x)
几个特殊实例
在Python的语法模型中:
(1).一行的结束就是终止该行语句(没有分号)。
(2).嵌套语句是代码块并且与实际的缩进相关(没有大括号)。
语句规则的特殊情况
虽然语句一般都是一行一句,但是Python中也有可能出现某一行挤进多个语句的情况,这时它们由分号隔开:
a = 1; b = 2; print(a+b) # Three statements on one line
不过,只有当摆到一起的语句本身不是复合语句才行。换句话说,只能把简单语句放在一起。例如,赋值操作、打印和函数调用。复合语句还是必须出现在自己的行里。
另一个特殊规则基本上是相反的一一可以让一个语句的范围横跨多行。
为了实现这一操作,只需用一对括号把语句括起来就可以了:括号(())、方括号([])或者字典的大括号({}),任何括在这些符号里的程序代码都可横跨好几行,语句将一直运行,直到Python遇到包含闭合括号的那一行。
mlist = [111,
222,
333]
X = (A + B
C + D)
if (A == 1 and
B == 2 and
C == 3):
print(‘spam’ * 3)
类似C语言比较老的也允许我们跨越数行,但是在Python中不提倡进行使用。因为在Python中关注并维护反斜杠比较困难,而且这种做法相当脆弱。
代码块规则特殊实例
简单语句(赋值操作、打印、函数调用等)可以跟在冒号后面,较复杂的语句仍然必须单独放在自己的行里。
if x > y: print(x)
作者:xuanyin235
来源:CSDN
原文:https://blog.csdn.net/xuanyin235/article/details/82490744
版权声明:本文为博主原创文章,转载请附上博文链接!