上QQ阅读APP看书,第一时间看更新
2.3.6 减少程序的缩进层级
再仔细观察一下on_mouse_down()函数中的代码结构,可以看到代码的缩进层级比较多(最多处缩进了三级),从而会对代码的可读性造成一定影响。其实可以采用另一种写法来减少缩进的层级,即在条件语句中使用return关键字,例如以下代码所示:
上面的代码表示,如果thispic的值为None,则立即返回。什么叫作立即返回呢?立即返回的意思就是说函数中只要执行了return语句,程序便会直接跳出该函数,那么函数中剩余的其他语句将不会被执行。对于我们的程序来说,如果发现鼠标单击的是空白块而不是图片块,就可以直接跳出on_mouse_down()函数,而无须继续执行后面的操作。
提示:
这样的编写方式并不影响程序的实际运行效果,但采用这种写法却可以减少一级缩进,从而让程序的结构更加简洁。
试着将之前的代码进行改写,并加入图片块朝其他方向移动的检查语句。修改后的on_mouse_down()函数如下所示:
可以看到,现在的代码最多只有两级缩进,代码的结构变得更加简单,可读性也相应地提高了。另外需要注意的是,程序在对各个方向进行检查并处理之后,都要调用return语句及时返回,以避免重复的移动操作(例如向上移动之后又立刻向下移回来)。
运行一下程序,看看是否可以用鼠标操作图片块移动了呢?