前言
算来学会python已经4年有余, 使用它作为我的工作语言也3年了. 这个过程中我读过一些书, 看了很多人的博客.
也读了一些开源项目的代码, 但是尤其重要的是和同事在一起得到的进步. 一直到现在我都有习惯了解python, 提高自己的python能力
说到idiomatic. python有自己独特的语法和习惯. 而实现同样功能的代码不用的人呢也会使用不同的方式.
写出来的代码内容也有非常大的区别, 但是总是会有一个是更好的, idiomatic的写法. 今天突然翻到了一个我之前一直维护的keynote.
这里面记录了我总结和从其他的ppt或者代码里看到更优美的写法.
其中有些已经放在python3中, 说明这样的功能确实是程序员蛮有用的. 我整理了一下. 来给大家分享下.
PS: 这些是编程的思维, 举一反三, 再适合的时候利用上.
循环列表, 直到找到符合的结果, 没有结果返回一个默认值
通常这样:
1 |
|
更好的写法:
1 |
|
执行调用直到某种情况
通常这样:
1 |
|
更好的写法:
1 |
|
标记区分
1 |
|
更好的写法:
1 |
|
threading.Lock
1 |
|
其实是这样的:
1 |
|
忽略抛出的异常
1 |
|
1 |
|
就算用python2, 我也强烈建议把这样的函数放在项目里
1 |
|
如果你使用python3.4或以上可以使用标准库的 contextlib.suppress
1 |
|
直接把输出存进文件中
1 |
|
同样使用python3.4以上可以使用
1 |
|
redirect_stdout是这样的:
1 |
|
最简单的缓存
通常这样实现缓存:
1 |
|
可以这样写
1 |
|
版权声明:本文由 董伟明 原创,未经作者授权禁止任何微信公众号和向掘金(juejin.im)转载,技术博客转载采用 保留署名-非商业性使用-禁止演绎 4.0-国际许可协议
python