程序代码的块结构
>>> def testIf(param):#测试if语句 '这个函数测试if语句' print('函数开始') if param<1 : print("输入的数字小于1") elif 1<param<3 : print("输入的数字在1和3之间") else : print("输入的数字大于3") print('函数结束') >>> testIf(0) 函数开始 输入的数字小于1 函数结束 >>>
我们下面引入图形来解释上面的代码
嵌套块代码:一个嵌套块以再往右缩进的语句开始,碰到缩进量较少的语句或文件末尾时就结束
这个的函数包含3个模块,最顶层是函数名,跟着是跟随print和if,最后就是if里面的执行模块
>>> def testIf(param):#测试if语句 '这个函数测试if语句' print('函数开始') if param<1 : print("输入的数字小于1") elif 1<param<3 : print("输入的数字在1和3之间") else : print("输入的数字大于3") print('函数结束') SyntaxError: invalid syntax >>>当程序缩进错误的时候,一般都会有提示,就像上面的,但是,有些时候却不会,而且会造成逻辑上面的问题
请认真对比下面两个例子:(主要差别在于param大于3的时候)
>>> def testIf(param):#测试if语句 '这个函数测试if语句' print('函数开始') if param<1 : print("输入的数字小于1") elif 1<param<3 : print("输入的数字在1和3之间") else : print("输入的数字大于3") print(param)#我们原来的函数是这样的 print('函数结束') >>> testIf(4) 函数开始 输入的数字大于3 4 函数结束 >>>
上面的例子我举出正确逻辑,当大于3的时候打印输入数字,我们下面举一个由于缩进而造成的逻辑错误,而且是不报错的
>>> def testIf(param):#测试if语句 '这个函数测试if语句' print('函数开始') if param<1 : print("输入的数字小于1") elif 1<param<3 : print("输入的数字在1和3之间") else : print("输入的数字大于3") print(param)#这里由于手误,没有缩进 print('函数结束') >>> testIf(4) 函数开始 输入的数字大于3 4 函数结束 >>> testIf(1) 函数开始 输入的数字大于3 1 函数结束 >>>
由于手误,没有缩进,所以造成函数的逻辑错误,而且是不报错的逻辑错误
本来我们想着的是大于3的情况才打印,但是现在无论输入什么都打印出来,所以大家对于缩进一定需要认真注意
最后,就是需要主要制表符与空格,我们需要避免同时使用,在python3.x里面就加上了这样的报错
>>> def testIf(param):#测试if语句 '这个函数测试if语句' print('函数开始')#print的前面全是空格 if param<1 : print("输入的数字小于1") elif 1<param<3 : print("输入的数字在1和3之间") else : print("输入的数字大于3") print(param) print('函数结束') SyntaxError: inconsistent use of tabs and spaces in indentation >>>
就说到这里,谢谢大家
------------------------------------------------------------------
版权声明:本文为博主原创文章,未经博主允许不得转载。