我正在学习Python,同时实现构建脚本等.目前一切都运行良好,因为脚本做了他们需要做的事情.但我一直觉得我错过了一些东西,比如"The Python Way".我知道构建脚本和胶水脚本并不是最令人兴奋的开发工作,可能很难成为揭示Python真正力量的候选者,但我仍然希望有机会让我的思绪受到重创.我主要用C#开发,我发现我的Python代码在结构和样式上看起来与我的很多C#代码非常相似.换句话说,我觉得我在用C#思考,但用Python编写.
我真的错过了什么吗?
(注意:我意识到这不是一个编程问题而且它是相当广泛的,并且可能没有明确的答案,所以如果必须的话,请将其归结为遗忘.)
Bai*_*ose 36
我建议你读了发电机,迭代器,itertools以及上述所有列表综合.
这些是Pythonic的支柱.而对于其他一切,还有PEP-8.
阅读这些概念并尝试在适当的地方使用它们.祝一切顺利!
PS:别忘了import this;)
附录:我也会在这个帖子中汇总其他人给出的一些很好的建议:
And*_*are 16
不 - 对于那些从其他类C语言迁移到Python的人来说,这是很常见的.我相信你所寻找的是使你的代码更"Pythonic"的方法.好消息是你编写的Python越多,你的代码就会变得越Pythonic.这是"我怎样才能更简单地"这种态度的自然溢出.
另一个值得关注的好地方是The Zen of Python.这些对Python开发的态度也会对您有所帮助.
小智 7
到目前为止,你已经得到了很好的建议.我只会将Dive添加到Python中.
编辑:截至2011年10月4日,这项工作可以在这里找到. 在这里深入Python 3. "为什么"这是:看到这里,这里和这里.
最近我通过解决python中的Project Euler问题来学习/改进我的python.这对我来说非常有效,因为:
我完全推荐这个.
你在读Python还没写吗?
这是Python 2.6.1发行版中删除.pyc和.pyo文件的脚本.
#!/usr/local/bin/python
"""Recursively zap all .pyc and .pyo files"""
import os
import sys
# set doit true to actually delete files
# set doit false to just print what would be deleted
doit = 1
def main():
if not sys.argv[1:]:
if os.name == 'mac':
import EasyDialogs
dir = EasyDialogs.AskFolder(message='Directory to zap pyc files in')
if not dir:
sys.exit(0)
zappyc(dir)
else:
print 'Usage: zappyc dir ...'
sys.exit(1)
for dir in sys.argv[1:]:
zappyc(dir)
def zappyc(dir):
os.path.walk(dir, walker, None)
def walker(dummy, top, names):
for name in names:
if name[-4:] in ('.pyc', '.pyo'):
path = os.path.join(top, name)
print 'Zapping', path
if doit:
os.unlink(path)
if __name__ == '__main__':
main()
Run Code Online (Sandbox Code Playgroud)
你能找到多少Python成语?
| 归档时间: |
|
| 查看次数: |
2879 次 |
| 最近记录: |