|
Post by account_disabled on Jan 29, 2024 1:43:08 GMT -8
编者注:在 Java 频道中,我们大多数人都非常了解该语言,并且已经进入其生态系统至少几年了。这给了我们常规和专业知识,但也导致了一定程度的狭隘视野。在“Outside-In Java”系列中,非 Java 人士将为我们提供他们对生态系统的看法。 Pause Next Unmute Current Time 0:07 / Duration 2:00 Fullscreen 目录 句法 动态类型 动态类型哲学 混合范例 序列 功能 对象和动态运行时 对象 课程 包起来 评论 从哲学上来说,Python 几乎与 Java 截然相反。它放弃了静态类型和刚性结构,转而采用松散的沙箱,在沙箱中您基本上可以自由地做任何您想做的事情。也许Python是关于你能做什么,而Java是关于你可以做什么。 然而,这两种语言仍然有很多可以追溯到 C 语言的灵感。它们都是带有块、循环、函数、赋值和中缀数学的命令式语言。两者都大量使用类、对象、继承和多态性。两者都有相当突出的例外情况。两者都自动处理内存管理。 它们甚至都编译为在虚拟机上运行的字节码,尽管 Python 会为您透明地编译。Python 甚至从 Java 中汲取了一些线索——标准库logging和unittest模块分别受到 log4j 和 JUnit 的启发。 鉴于这种重叠,我认为Java 开发人员应该对 Python 感到相当熟悉。所以我 WhatsApp 号码数据 带着一些温和的 Python 宣传来找你。如果您给我一个机会,我可以向您展示 Python 与 Java 的不同之处,以及为什么我觉得这些差异很有吸引力。至少,您可能会发现一些有趣的想法可以带回 Java 生态系统。 (如果您想要 Python教程,Python 文档有一个很好的教程。此外,这是从 Python 3 的角度来看的!Python 2 在野外仍然相当常见,并且它有一些语法差异。) 句法 让我们先解决这个问题。这是你好世界: print("Hello, world!") 嗯,好吧,这不太有启发性。好的,这是一个查找文件中最常见的十个单词的函数。我使用标准库的类型有点作弊Counter,但它实在是太好了。 人们经常对此有强烈的看法。当我第一次看到它时,我什至认为这是异端。现在,大约十年后,这似乎很自然,我很难再回去戴牙套了。如果你对此感到厌烦,我怀疑我能否说服你,但我敦促你至少暂时忽略它;在实践中它确实不会造成任何严重的问题,并且消除了相当多的噪音。另外,Python 开发人员永远不必争论 a{应该去哪里。 除了审美上的差异之外,其中大部分看起来应该很熟悉。我们有一些数字、一些赋值和一些方法调用。该import语句的工作方式略有不同,但它具有相同的一般含义“让这个东西可用”。Python 的for循环与 Java 的 -each 循环非常相似for,只是标点符号少了一些。函数本身是def用而不是类型来分隔的,但它的工作原理与您所期望的一样:可以使用参数调用它,然后返回一个值(尽管这个不是)。 这里只有两件事确实不寻常。一是with块,与 Java 7 的“ try-with-resources”非常相似——它保证文件将在块末尾关闭,即使在块内引发异常也是如此。
|
|