在代码中深入学习Jython语法

为了更多的了解Jython语法和结构,下面通过分析几个简单然而完整的工作程序进行学习。首先是经典的示例程序——Hello World!——它在Jython中如下所示:

清单 1. Jython的Hello World!

 
 
 
  1. print "Hello World!"

在Jython语法中(就像在Python 中),源文件使用扩展名“ py”。“Hello World”语句放在 hello.py 之类的源文件中时,就是一个完整的程序。

作为比较,看一下等效的Java 程序,看看下面的hello.java 文件:

清单 2. Java的Hello World!

 
 
 
  1. public class hello {
  2.     public static void main(String[] args) {
  3.         System.out.println("Hello World!");
  4.     }
  5. }

Jython语法显然格式更简单,通常都是如此。Jython语法好的方面当然是代码可以直接解释,也可以翻译成Java 源代码并自动编译为类文件。可以用下面的Java 命令来运行Hello World 程序:

 
 
 
  1. C:\>java -Dpython.home=C:\jython-2.1 -cp C:\jython-2.1\jython.jar 
  2.       org.python.util.jython hello.py

也可以用下面更方便的Jython 脚本运行这个程序:

 
 
 
  1. C:\>jython hello.py

回显,回显,echo.py!

然后,尝试一个增加了一些功能的示例,这是一个小程序,它允许您回显(echo)命令行参数。对于程序echo,使用以下代码(这些代码在echo.py 中):

清单 3. 回显命令行参数的示例程序

 
 
 
  1. import sys
  2. count = 1
  3. for arg in sys.argv[1:]:
  4.     print 'Argument %i=%s' % (count, arg)
  5.     count += 1

同样,这个完整的Jython程序揭示了Jython语法的一些关键特性。要注意的***件事是每一行就是一个语句——不需要分号(;)来结束这些行——并且变量没有声明。

您还应当注意在Jython语法中,命令行参数是通过内置符号sys.argv 访问的,它是一系列字符串。sys是一个标准模块,它包含有用的值和函数,还有其他许多标准模块可供使用。***个argv 元素(0 )是程序名(即echo.py)。要跳过它,取走argv 列表的片段,实际开始位置为一(1),然后迭代直到列表的***。

另外,在Jython语法中,循环是通过 for 语句组实现的。 for 语句正文是 for 之后缩进的那些行。print 语句示范了使用Jython 的字符串格式编排功能(类似于 C/C++ 的 printf 和 Java 1.5 的新的 print 功能)。

还可以更精确地将上述代码写为以下形式:

 
 
 
  1. from sys import argv
  2. for i in range(1, len(argv)): print 'Argument %i=%s' % (i, argv[i])

在这个示例中,使用range 以索引sys.argv 列表。因为 argv 变量是直接导入的,所以不需要限定。注意argv 列表的长度是通过len 函数而不是作为方法获得的,这是Jython语法中的一种用法,在许多语言中也常见。还有许多其他函数可用。

网站标题:在代码中深入学习Jython语法
分享URL:http://www.shufengxianlan.com/qtweb/news14/472214.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联