对C#程序员编写Python的建议

时间:2009-03-25 20:18:36

标签: c# python

过去几年我一直在做C#开发,但最近开始做一些Python(不是Iron Python)。但是我不确定我是否已经向Python进行了精神上的飞跃......我觉得我正在尝试像在C#中那样做事。

关于如何充分利用Python的任何建议?

或任何提示\技巧,要了解更多信息,需要注意的事项?

10 个答案:

答案 0 :(得分:153)

答案 1 :(得分:16)

  • 不要使用课程。使用词典,集合,列表和元组。
  • 禁止使用限制器和吸气剂。
  • 除非你真的需要,否则不要使用异常处理程序 - 让它崩溃。
  • Pylint可以成为更多蟒蛇编码风格的朋友。
  • 当你准备好了 - 查看列表推导,生成器和lambda函数。

答案 2 :(得分:13)

如果您不是编程新手,我会推荐Mark Pilgrim撰写的书"Dive into Python"。它以一种方式解释Python,使人们很容易理解如何将Python技术和习惯用于构建实际应用程序。

答案 3 :(得分:6)

首先阅读The Zen of Python

您可以在上面的链接中阅读它,或者只是在Python提示符下键入import this。 =)

利用C#

未提供的Python功能

如鸭子打字,元类,列表理解等*。

编写简单的程序只是为了测试这些功能。你很快就会被使用(如果不是上瘾的话)。

查看Python Standard Library

所以你不要重新发明轮子。不要试图阅读整个内容,即使快速查看TOC也可以为您节省大量时间。


*我知道C#已经具备了一些这些功能,但从我看到它们要么是新的,要么是C#开发人员不常用的。如果我错了,请纠正我。

答案 4 :(得分:5)

如果你还没有听说过,Dive Into Python是一个开始学习Python的好地方。它还有一堆Tips & Tricks

答案 5 :(得分:3)

如果您是通过采取少量增量步骤更好地学习新语言的人,那么我建议您使用IronPython。否则使用常规CPython并且在您感觉自己掌握Python之前不要再进行C#编码。

答案 6 :(得分:2)

我建议你找一个好的编辑器,这样你就不会被空白所困扰。为简单起见,我只使用ActivePython的包Link,其中包含一个编辑器和所有win32api库。如果你一直在使用C#,它们会非常有趣。 Python中的win32api可以更简单一些。您不需要执行整个DDLImport事情。下载ActivePython(随CPython一起提供),打开它,然后开始在控制台输入一些内容。使用C#后,你会很容易地把它拿起来。对于一些更有趣的Python花絮,尝试ActiveState code,它有各种各样的食谱,这可以让你非常简单地看到你可以用Python做的不同的东西。

答案 7 :(得分:2)

我也非常喜欢,在我的大部分工作中仍然使用C#,但是越来越多地将Python用于其他项目。

@ e-satisf可能从内到外知道Python,他的所有建议都是一流的。从我的角度来看,对我来说最大的不同之处在于:

恢复功能。不一定是意大利面条代码,但要知道并非一切都必须在一个对象中,也不应该存在。

翻译。它就像直接窗口,除了10 ^ 10更好。由于Python的工作方式,你不需要所有的行李和垃圾C#让你在你可以运行之前放入;你可以只看几行,看看事情是如何运作的。

我通常会有一个IDLE实例,因为我正在编写文件时,我正在研究语言中的各个位是如何工作的...正在忙着研究如何在列表上进行地图调用,但我不是100%在lambda上我应该使用...在几行中进入IDLE,看看它是如何工作的以及它的作用。

最后,热爱Python的冗长,我并不是指冗长的冗长含义,但正如e-satisf所指出的那样,使用“in”,“is”,“for”等动词等等。

如果你在C#中进行了大量的反思工作,当你看到Python中的相同内容有多么简单时,你会感到哭泣。

祝你好运。

答案 8 :(得分:1)

如果您有编程经验并且不想花钱,我建议How to Think Like a Computer Scientist in Python

答案 9 :(得分:0)

然后你可以从中受益:

IPython shell:在shell中自动完成。它进行批量操作,增加了大量功能,记录等。 >>>玩shell - 永远!

easy_install / pip:非常好,也是安装第三方Python应用程序的简便方法。