为.NET开发人员学习Python

时间:2009-07-02 04:42:11

标签: c# .net python dynamic-languages

我已经在C#中积极开发了好几年了。我主要在.NET堆栈上构建企业应用程序和内部框架。

我从来没有必要使用除C#之外的任何其他主流高级语言来完成我的任务,因为.NET是我们使用的标准平台。

我有一些遗留的Python应用程序被要求支持,我一般都没有使用python和动态语言(尽管我已经做了很多JavaScript)。

我希望得到一些指导/建议,以帮助学习如何为静态类型的思维学习像python这样的语言。

编辑:使用IronPython不是一个选择!

8 个答案:

答案 0 :(得分:20)

Foord和Muirhead的IronPython in Action是一本非常好的书,非常适合向Python人员教授Python以及向Python人员教授.NET。我可能有偏见,因为我是一名技术评论员而Foord是我的朋友,但过去我曾有过其他案例,其中一位朋友写了一本书并且我对技术进行了评论 - 并最终决定这本书是错的,公开这样说(失去朋友的方式,但是,我不能说谎,至少不是Python所关注的地方! - )

编辑:如果您被禁止转移到IronPython(这可能会支持您的遗留应用程序就好了,顺便说一下),还有更好的答案:Mark Pilgrim的Dive into Python通常被认为是对于经验丰富的开发人员来说,最好的Python介绍,我自己的Python in a Nutshell被认为是超级明星开发者最快的方式。我 am 当然偏向于这些 - 马克是一位同事,我的妻子是他的书(以及我自己的)的关键技术编辑,显然我偏向于也是我自己的书;-)。但是,我倾向于偏向于许多最好的Python书籍,因为我要么亲自编辑,要么与作者交朋友,或两者兼而有之;-)。

答案 1 :(得分:8)

使用来自Java的python时遇到的最难的事情就是正确地将我的头部包裹在Duck Typing的东西周围......起初我觉得它只是简单可怕而且只是把头发梳在我脖子上。

接下来是按照惯例的范围,但这个很容易。白色空间的重要性给了我一些障碍。

然而,一旦你在语言的简洁性和发展速度中放松自己,你就会学会更多地欣赏它。过了一会儿,我以为这是发生在我身上的最好的事情!! : - )

这里有一些对我有很大帮助的事情:

首先,我从这个book开始,掌握了语言的基础知识,并且对于日常使用Python Quick Reference Card非常有帮助。此外,console将是您尝试快速并巩固学习的最佳盟友。

对于IDE来说,来自日食世界PyDev对我来说是一个很自然的选择,但还有更多选择。但是,如果您对Visual Studio环境更熟悉,Python Tools for Visual Studio也非常好。

祝你好运,希望你会发现Python和我一样有趣。

答案 2 :(得分:4)

对动态打字感到满意是一个很大的障碍。第一步是当你查看Python代码并意识到变量没有在任何地方定义时,你只需凭空创建它们,感觉就像跳过悬崖。在您的悬挂式滑翔机正常捕捉到空气之前有一段时间。

然后在您相信新发现的动态翅膀之前需要时间,而您可能只能通过与他们进行特技飞行来获得他们。了解python如何处理引用,玩猴子修补方法,鸭子类型各种动物。试着学习一些丑陋的技巧。

虽然你不能使用IronPython,但没有理由不能用它来学习Python。

答案 3 :(得分:3)

你将体验到从C#到Python的野鸭型内陆的相当多的文化冲击。缺乏类型和智能感可能相当令人生畏。您在JavaScript中经验丰富的好事。还要知道Python的缩进敏感块规则对于缺乏经验会非常困惑(通常你要么喜欢它还是讨厌它: - )

除此之外,从一种语言转向另一种语言的最大挑战通常是框架。不久就了解了所有的课程和功能。

答案 4 :(得分:2)

我建议您使用IronPython来帮助您学习。它是.NET框架上的Python实现。因此,您可以使用/学习Python来访问.NET类库。

一个好的开始是下载IronPython并查看IronPython in Action,这是一本非常好的书,在.NET框架上查看Python。

编辑:由于IronPython不是一个选项,请忽略这个答案。谢谢。

答案 5 :(得分:2)

如果你有时间,那本书Pro IronPython也值得一读。

答案 6 :(得分:2)

我建议你只读一本关于它的书。一本适合初学者的书。它将包含您已经知道的许多内容,但您不会错过任何有关使用动态语言的内容。我可以指向Dive into Python,这似乎非常友好,或The Python Tutorial这似乎非常重要(这就是我学习的方式)。

答案 7 :(得分:2)

对于有经验的Python学习者来说,Dive Into Python是一本非常好的书。

Wesley Chun的Core Python Programming书采取了更为“彻底”的方法,对于有经验的开发人员而言,这可能有点慢。但与其他语言相比,它允许非常容易地比较基本语法和运算符。韦斯利的写作风格非常容易阅读,他的榜样项目非常简单,实际上很有趣。

Python Cookbook是学习以'Pythonic'方式编程的绝佳参考。本书包含数百个(?)如何使用Python解决日常常见问题的示例。一般来说,“Cookbook”系列将比任何其他书更快地向您展示语言的习语。

每当我需要学习一种新的编程语言时,我就开始使用它来完成所有出现的“日常维护”任务 - 我通常用shell脚本或使用常见的unix工具解决的所有小事情 - 我开始使用新语言来解决这些问题。由于您拥有.NET经验,IronPython可能是学习Python时利用这些知识的好方法。即使您只在个人沙箱中安装IronPython ......并将其用于所有日常繁忙的工作编码任务 - 这可能是学习Python语法和习惯用语的好方法。