如何实现独立Jython程序
这篇文章给大家分享的是有关如何实现独立Jython程序的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
以下清单是一个独立 Jython程序的示例:
清单 7. 模拟硬币投掷的样本 Jython程序(listing7.py)
from java.util import Random rng = Random() #This is a comment in Jython print "Flipping a coin..." if rng.nextBoolean(): print "Came up heads" else: print "Came up tails"
在解释如何运行该代码之前,让我们先解释一下代码。这个示例引入了 Jython 中的 if 语句,这是有些人对 Jython(及其先辈 Python)评论的首要方面之一。没有字符定界符标记出当 if 语句条件为真时要执行的代码块(Jython 中的条件不需要括起的圆括号,这与 Java 编程一样)。只是这些代码比周围的代码缩进一层。
Jython代码块总是使用缩进进行标记,而不是使用其它标记,例如花括号。引入代码块的语句(例如 if )以冒号作为结尾。Jython 的这个特性意味着在编写代码时必须小心,因为缩进代码的方式实际上可能会改变代码的含义。例如,清单 8a 产生的打印输出只有数字 3,因为它上面两个语句都属于其条件永远不为真的 if 块:
清单 8a. Jython代码的缩进:只打印“3”
if 0: print "1" print "2" print "3"
如果我只更改其中一行的缩进,那么就会打印数字 2和数字 3:
清单 8b. Jython代码的缩进:打印“2”和“3”
if 0: print "1" print "2" print "3"
缩进还必须一致,它必须与将代码组织成块的语句相关联,而且通常它还必须控制代码流。例如:
清单 8c. Jython代码的缩进:语法错误
print "1" print "2" print "3"
这只会产生一个语法错误,因为没有任何控制语句要求将一个块与代码其余部分相分离。
使用缩进标记代码块是 Python 和 Jython 的更有争议的特性之一,但我认为这个问题常常被夸大了。毕竟,如果您遵循有关缩进的良好的编码标准,就不应该有这种问题。如果遵循了良好的编码缩进,那么机器会执行,同行评论家就无话可说,因此事实胜于雄辩。
此外,我知道当开发人员对这种语言使用一段时间后,没有谁会注意这种限制。适当缩进成为 Jython 的第二本性。缩进和语法之间的这种联系当然可能会引起以前未遇到过的错误,但是没有显式的定界符也消除了使用这些定界符的语言中的某些常见错误。
您可以不必编译就可运行 清单 7 中的文件(listing7.py),只需将该文件名作为 jython 命令的参数来调用,如下所示:
清单 9. 不编译就运行“硬币投掷”
$ jython listing7.py Flipping a coin... Came up tails $
在上个示例中, $ 就是 UNIX shell 提示符,它非常象 Windows 系统上的 C:\> 。您还可以使用 jpythonc 命令将模块编译成 Java 字节码( .class )文件,该命令允许您使用 java 或 jre 命令直接运行它。用这种方法编译的 Jython 模块有一些限制,但这个问题超出了本文的范围。
感谢各位的阅读!关于“如何实现独立Jython程序”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!