if (x==1) if (y==1) c=3; else m=4;
这样的结构很容易让人产生错觉,即使实际上else语句是与y==1的条件匹配的。C类语言不管这种情况,认为编程者有自己决定分句书写位置的自由。虽然有各种各样的编程风格和规范,然而终归是一种建议,这给后续的维护者造成成了困扰。
对于python而言,缩进被定义到了语法规范中,再没有比这个更严格的要求了。这种情况下,缩进的else和不缩进的else,会产生两种不同的语法含义。而杂乱无章的缩进,会直接在解释器中报错。 python并且取消了语句块的开始和结束标记,无论是{}还是begin和end。在c或者java中,一个语句块的定义:
if () { }
和
if(){ }
都经常被使用,风格不统一但却都合法,在阅读较大的程序时也会带来不变。Python的做法是取消了语句块定义。直接让缩进来完成一切,并且因而保持良好的可读性。这似乎也是Python简洁性的一个证明。
原创文章,作者:苏葳,如需转载,请注明出处:https://www.swmemo.com/433.html