python代码缩进的解决方案

这个不是Python的问题,不管你用那个编程语言都会碰到这个问题。也没有统一的解决方案。前面诸位提到的编辑器折叠代码的功能确实能部分解决问题,
但是从根子上讲,还是得靠合理地设计程序结构。我这里讲一些我自己的心得,供你作参考。

首先要合理使用Py的sub function
def outer():
def inner():
foobarblahdah

然后把很多nasty的东西放到inner里面。很多时候这种方法能解决很多问题。

此外,要合理使用generator。Py的generator是一个非常强大的工具,用得好,能让你的代码非常赏心悦目。比方说,很多时候,多层的
for while,就是要一环套一环地筛选对象。那么你完全可以这么写代码。

def func():
criteria1 = lambda : foo
criteria2 = lambda : bar
criteria3 = lambda : blah
criteria4 = lambda : dah

def gen1(object_set, *criteria):
for i in object_set:
play_with_foo_bar_blah_dah
yield i
def gen2(object_set, *criteria):
for i in object_set:
another_sieve_processing_algo
yield i

for i in gen(list_of_objs, (dar, blah)):
foobarblahdah

这个思路基本上就是在照抄twisted的defer了。criteria1,2,相当于单台机床,gen1,2,相当于排流水线,真正调用gen
(list_of_objs, (dar,blah))的时候,相当于投料正式生产。

此外,还要善于利用Py内置的shortcuts。比方dict的get,setdefault,以及or,and,if else赋值语句等等。

这个东西,说到底还是比较技巧性的。就是说,只要多读代码,retrospect自己的代码,或早或晚都能掌握的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值