提升Python代码可读性?
最近我很喜欢编写Python代码。我之前一直在用C语言编程,那个时候的代码可能比实际需要的复杂得多(不过至少能锻炼出一些技能)。所以在写一些不需要特别快的复杂项目时,从C转到Python对我来说是个好事。
不过,习惯了那些满是括号、圆括号和结构体的代码后,我遇到了一个小问题:我觉得Python的代码不太好读。
比如,下面这段代码我得盯着看很久才能搞懂(我其实不喜欢这样):
if foo:
bar = baz
while bar not biz:
bar = i_am_going_to_find_you_biz_i_swear_on_my_life()
did_i_not_warn_you_biz()
my_father_is_avenged()
问题出现在那个if语句块的末尾:所有的缩进突然又回到一个很突兀的块,这让我觉得有点不适应。为了解决这个问题,我开始这样写我的Python代码:
if foo:
bar = baz
while bar not biz:
bar = i_am_going_to_find_you_biz_i_swear_on_my_life()
#-- while --
#-- if --
did_i_not_warn_you_biz()
my_father_is_avenged()
奇怪的是,这样让我更容易读懂自己的代码。不过我很好奇:有没有其他人也有我这样的困扰,找到更简单的方法让缩进的代码更易读?我希望在这成为我的习惯之前,能找到更好的办法。
7 个回答
8
你可以试着增加缩进的大小,不过我一般会说,放轻松,这些都是需要时间来适应的。我觉得把Python弄得像C语言那样并不是个好主意。
15
我喜欢在代码块周围留空行,这样可以让控制流程看起来更清晰。比如:
if foo:
bar = baz
while bar not biz:
bar = i_am_going_to_find_you_biz_i_swear_on_my_life()
did_i_not_warn_you_biz()
my_father_is_avenged()
24
学习一门新的编程语言的一部分,就是学会阅读用这种语言写的代码。像这样的辅助工具可能会让你自己写的代码更容易理解,但它会妨碍你学习如何阅读其他人写的Python代码。我真的觉得,去掉这些块结束的注释,适应正常的Python写法会对你更有帮助。