python系列教程133——几种特殊语法

网友投稿 774 2022-10-01

python系列教程133——几种特殊语法

python系列教程133——几种特殊语法

上一篇文章中,我们提到了python语法有下面两点规则: •一行的结束就是该行语句的终止(不需要分号)。 •使用缩进来表示嵌套语句的代码块(不需要大括号)。

但是Python也提供了一些特殊的规则来调整语句的终止和嵌套语句的代码块。

虽然Python语句一般都是一行一个,但是Python中也有可能出现某一行挤进多个语句的情况,这时它们由分号隔开:

a = 1; b = 2; print(a + b) # Three statements on one line

不过,只有当摆到一起的语句本身不是复合语句才行。换句话说,只能把简单语句放在一起。例如,赋值操作、打印和函数调用。复合语句还是必须出现在自己的行里。

另一个特殊规则却是相反的——可以让一个语句的范围横跨多行。为了实现这一操作,你只需要用一对括号把语句括起来:括号()、方括号[]或者字典的大括号{}都行。任何括在这些符号里的程序代码都可横跨好几行。语句将一直运行,直到Python遇到包含闭合括号的那一行。例如,连续几行列表常量:

mlist = [111, 222, 333]

由于程序被括在一对方括号里,Python就会接着运行下一行,直到遇见闭合的方括号为止。花括号包含的字典也可以用这个方法横跨数行,圆括号则一般处理元组、函数调用和表达式。连续行的缩进是无所谓的,但是为了让程序具有可读性,那几行也应该对齐。

括号是可以包含一切的——因为任何表达式都可以包含在内,只要插入一个左边括号,你就可以到下一行接着写你的语句。

X = (A + B + C + D)

这种技巧也适用于复合语句。不管你在什么地方需要写一个大型的表达式,只要把它括在括号里,就可以在下一行接着写:

if (A == 1 and B == 2 and C == 3): print('spam' * 3)

其实有一条比较老的规则也允许我们跨越数行——当上一行以反斜线结束时,可以在下一行继续:

X = A + B + \ # An error-prone alternative C + D

但是这种方法已经过时了,目前从某种程度上来说,不再提倡使用这种方法,因为关注并维护反斜线比较困难,而且这种做法相当脆弱(反斜线之后可能没空格)。

还有一种特殊情况,复合语句的主体可以出现在Python的首行冒号之后。

if x > y: print(x)

这样我们就能够编辑单行if语句、单行循环等。不过,只有当复合语句本身不包含任何复合语句的时候,才能这样做。也就是说,只有简单语句可以跟在冒号后面,比如赋值操作、打印、函数调用等。较复杂的语句仍然必须单独放在自己的行里。

虽然上面说了这么多特殊案例,但是如果你将所有语句都分别放在不同的行里并总是将嵌套代码块缩进,那么程序代码会更容易读懂并且便于后期的修改。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:小程序开发有哪些难点(小程序开发有哪些难点问题)
下一篇:python系列教程136——带星号的变量名
相关文章

 发表评论

暂时没有评论,来抢沙发吧~