过时的语言特性
Tip
尽可能使用字符串方法取代字符串模块. 使用函数调用语法取代apply(). 使用列表推导, for循环取代filter(), map()以及reduce().
- 定义:
- 当前版本的Python提供了大家通常更喜欢的替代品.
- 结论:
我们不使用不支持这些特性的Python版本, 所以没理由不用新的方式.- Yes: words = foo.split(':')
[x[1] for x in my_list if x[2] == 5]
map(math.sqrt, data) # Ok. No inlined lambda expression.
fn(args, *kwargs)
- No: words = string.split(foo, ':')
map(lambda x: x[1], filter(lambda x: x[2] == 5, my_list))
apply(fn, args, kwargs)
- Yes: words = foo.split(':')