.NET 开发者学习 Python
我已经在C#上积极开发了好几年了。主要是用它来构建企业应用程序和内部框架,都是在.NET这个平台上。
因为我们用的标准平台是.NET,所以我从来没有需要使用其他主流的高级语言,除了C#。
现在有一些老旧的Python应用程序需要我支持,但我对Python和动态语言完全没有接触(虽然我对JavaScript有一些了解)。
我希望能得到一些指导或建议,帮助我学习像Python这样的语言,特别是对于习惯了静态类型语言的人来说。
补充说明:使用IronPython不是一个选项!
8 个回答
刚开始接触动态类型的时候,很多人会觉得很难适应。第一步就是当你看到Python代码时,会发现变量并没有在任何地方被定义,你只是凭空创建了它们,这种感觉就像是跳下悬崖一样。你会有那么一瞬间,感觉自己像是在等滑翔机抓住空气。
接下来,你需要时间来信任你新学会的这种动态能力,可能只有通过不断练习才能掌握。你可以学习Python是如何处理引用的,尝试用“猴子补丁”来修改方法,或者用鸭子类型来玩各种动物。试着学一些看起来不太好看的技巧。
虽然你不能用IronPython来做这些,但这并不妨碍你用它来学习Python。
我从Java转到Python时,最难的事情就是理解“鸭子类型”这个概念……一开始我觉得这真是太糟糕了,简直让我毛骨悚然。
接下来是作用域的问题,不过这个相对简单。而空格的重要性让我也碰了几次壁。
不过,一旦你适应了Python的简洁性和快速开发的特点,你会更加欣赏它。过了一段时间,我觉得这是我遇到的最好的事情!!:-)
以下是一些对我帮助很大的东西:
首先,我开始读这本书,掌握了语言的基础。日常使用时,Python快速参考卡也非常有用。此外,控制台将是你尝试快速实验和巩固学习的最佳助手。
在IDE方面,考虑到我来自Eclipse的背景,PyDev对我来说是个自然的选择,但还有很多其他的选择。如果你更熟悉Visual Studio环境,Visual Studio的Python工具也非常不错。
祝你好运,希望你能像我一样觉得Python很有趣。
Foord和Muirhead的《IronPython实战》是一本非常棒的书,特别适合教.NET开发者学习Python,也适合教Python开发者了解.NET。我可能有点偏见,因为我曾是这本书的技术审阅者,而且Foord还是我的朋友。不过我以前也有过朋友写书我审阅的情况,最后我觉得书里的内容不对劲,还公开说了出来(这可真是失去朋友的好方法,但我实在没法撒谎,尤其是关于Python的事情!)
补充说明:如果你不能使用IronPython(其实它能很好地支持你的旧应用),那么还有更好的选择:Mark Pilgrim的《深入Python》常常被认为是经验丰富的开发者学习Python的最佳入门书,而我自己的《Python编程快速上手》也被称赞为超级开发者最快的入门方式。当然,我对这些书有偏见——Mark是我的同事,我的妻子也是他书的主要技术编辑(我自己的书也是),显然我对自己的书也有偏见;-)。不过,我确实倾向于支持很多优秀的Python书籍,因为我要么参与了它们的编辑,要么和作者是朋友,或者两者都有;-)。