适合Java开发者学习的Python入门

编者按:在Java文章频道里,我们大部分人应该对该语言都非常的了解,而且在该生态圈内至少已经呆了好几年了。这让我们有常规和专业的知识,但是也同时也让我们一些井蛙之见。在Outside-InJava系列文章中,一些非Java开发人员会给我们讲讲他们对于我们这个生态圈的看法。

从哲学的角度来讲,Python几乎是与Java截然相反。它抛弃了静态类型和刚性结构,而是使用了一个松散的沙盒,在这里面你可以自由的做任何你想做的事情。也许Python是关于你能够做什么,而Java则是关于你可以做什么。

然而,两种语言都从C语言里吸取了大量的灵感。他们都是命令式语言,拥有块、循环、方法、赋值以及中缀算术(infixmath)。两者都大量使用了类、对象、继承以及多态性。两者的功能异常都相当优秀。两者都能自动管理内存。它们都是编译成可以运行在某种虚拟机上的字节码,尽管Python是透明的进行编译。Python甚至从Java汲取了一些营养:比如基本库的logging和unittest模块分别是受到了log4j和JUnit的启发。

鉴于以上的技术重叠,我认为Java开发人员在使用Python时理应感到宾至如归。所以我来给你一些简单的Python介绍。我会可以告诉你什么使得Python与Java不同,以及为什么我觉得这些差异有吸引力。至少,您可能会发现一些有趣的想法使您回到Java生态系统。

(如果你想要一个Python教程,Python文档是一个很好的选择,而且这是从Python3的角度编写的,Python的使用还是很常见的,它与Python3有一些语法上的差异。

语法

我们先把语法弄明白。下面是helloworld入门程序:

print("Hello,world!")

嗯,并不是很有启发性。好吧,再来看一个函数,看看如何在一个文件中找到最常见的10个单词。在这里我取巧使用了标准库的Counter类型,但是它就是这么的好用。

fromcollectionsimportCounterdefcount_words(path):words=Counter()withopen(path)asf:forlineinf:forwordinline.strip().split():words[word]+=1forword,countinwords.most_







































北京治疗白癜风去哪家
辽宁治疗白癜风医院



转载请注明:http://www.92nongye.com/gaishu/204619258.html