`
chhff
  • 浏览: 27594 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论
阅读更多
1.安装 Jython 第 3 页(共6 页)


安装 Jython 很简单:只须执行从 Jython 主页下载的类文件即可。假设已安装了 JRE 且已将类文件下载到当前目录中(下面的例子中是 C:\),下列命令将安装 Jython(注意,<java_home> 是安装 JRE 的目录):


C:\><java_home>\bin\java jython-21

请按照安装应用程序的提示执行。建议选择默认值,并选择 c:\Jython-2.1 作为目标目录。

def fac(x):
     if x <= 1: return 1
     return long(x) * fac(x-1)

if __name__ == "__main__":
     print 1 + 2
     print "Hello" + "Goodbye"
     print fac(3)
     print fac(100)


from math import *

print "PI = %f, e = %f" % (pi, e)

print "Sine of %f = %f" % (0.5, sin(0.5))
print "Cosine of %f = %f" % (0.5, cos(0.5))
print "Tangent of %f = %f" % (0.5, tan(0.5))


print "Name: %(last)s, %(first)s" % {'first':"Barry", 'last':"Feigenbaum", 'age':18}


print range(10)        # prints [0,1,2,3,4,5,6,7,8,9]
print range(2,20,2)    # prints [2,4,6,8,10,12,14,16,18]
print range(10,0,-1)   # prints [10,9,8,7,6,5,4,3,2,1]



堆栈和队列


列表支持后进先出 (Last-In/First-Out,LIFO) 堆栈和先进先出 (First-in/First-out,FIFO) 队列概念。使用列表 x 创建堆栈时,用 x.pop()(和等同的 x.pop(-1))删除项。使用列表 x 创建队列时,用 x.pop(0) 删除项。要向列表中添加元素,请使用 x.append(item)。例如:

l = [1,2,3,4,5]  # define a list            

l.append(6)      # l is [1,2,3,4,5,6]

w = l.pop()      # w is 6, l is [1,2,3,4,5] 
x = l.pop(-1)    # x is 5, l is [1,2,3,4]
y = l.pop(0)     # y is 1, l is [2,3,4]
z = l.pop(0)     # z is 2, l is [3,4]



动态代码求值

Jython 与一般的语言不同,它有能力动态创建代码,然后执行。例如,在计算器应用程序中,用户可以用文本形式输入表达式,Jython 可以直接执行该表达式(假设它符合 Jython 源代码规则)。

要较好地了解 Jython 如何对动态代码解释/求值,请考虑下列代码:

v1 = 100; v2 = 200
l1 = [1, 2, v1, v2]
d1 = {"simple":123, "complex":(v1, v2, l1)}
expr = raw_input("Enter an expression:")
print eval(expr)    # evaluate and print the expression


下面是使用上述代码进行求值的示例表达式和求值的结果:

输入表达式(作为字符串输入) 结果
'1234.56' 1234.56
'v1+v2' 300
'd1["simple"]' 123
'v1**2 + len(l1)' 10004





Eval、exec 和 execfile


eval 函数用于执行返回值的表达式。exec 语句用于对不返回值的代码块(一条或多条语句)进行求值,它将文件、字符串(常从文件中读取)或函数作为自己的源操作数。execfile 函数执行来自文件的代码块,它实际上是运行一个子程序。

exec 语句采用下列形式:


exec source {in globals {, locals}}

execfile 和 eval 函数采用下列形式:


execfile(filename, {globals {, locals}})

eval(expression, {globals {, locals}})

所有三种形式都有选择地采用定义全局名称空间和局部名称空间的两个字典。有关名称空间的详细信息,请参见 可见性和作用域。如果省略了这些字典,则使用当前的局部名称空间(由 locals 函数提供)和当前的全局名称空间(由 globals 函数提供)。

例如,如果字典 gd = {"one":1, "two":2} 和 ld = {"x":100, "y":-1} 用作名称空间,则: print eval("one + two * 2 + x + y", gd, ld)

输入结果为:104。

有关使用 eval 函数和 exec 语句的更详细的信息,可以在 Python Library Reference(请参见 参考资料)中获得。
分享到:
评论

相关推荐

    jython-standalone-2.7.0(最新版本)

    如果windows的用户安装插件有问题的,尝试一下换这个jython: Jython官网: https://www.jython.org/downloads.html Jython环境安装包: ...

    jython介绍及使用

    自己总结了一下jython的特性。供大家共同学习。 Jython 是一种完整的语言,而不是一个简单的 Java 翻译器或 Python 编译器,它是 Python 在 Java 中的完整实现。由于 Jython 继承了 Java 和 Python 二者的特性从而使...

    jython_installer-2.5.2

    Jython是一种完整的语言,而不是一个Java翻译器或仅仅是一个Python编译器,它是一个Python语言在Java中的完全实现。Jython也有很多从CPython中继承的模块库。最有趣的事情是Jython不像CPython或其他任何高级语言,它...

    The Definitive Guide to Jython-Python for the Java Platform

    Jython is an open source implementation of the high-level, dynamic, object-oriented scripting language Python seamlessly integrated with the Java platform. The predecessor to Jython, JPython, is ...

    jython各个版本下载地址

    jython各个版本下载地址 版本列表 --------------------------------------------- 2.2/ 19-Oct-2009 07:57 jython-2.2-sources.jar 24-Aug-2007 10:23 682810 jython-2.2-sources.jar.md5 24-Aug-2007 10:23 128 ...

    jython官方jython-standalone-2.7.1b2版本(版本全)

    jython官方正版资源 为了省去大家找Jython安装包的时间,附上此Jython版本。 Jython是一种完整的语言,而不是一个Java翻译器或仅仅是一个Python编译器,它是一个Python语言在Java中的完全实现。

    jython-installer-2.7.3.jar

    交互式实验-Jython提供了一个交互式解释器,可用于与Java包或运行的Java应用程序交互。这允许程序员使用Jython来实验和调试任何Java系统。 快速应用程序开发——Python程序通常比等效Java程序短2-10倍。这直接转化为...

    jython-standalone-2.7.0.jar,和源码

    jython-standalone-2.7.0.jar,和jython-standalone-2.7.0.jar源码

    Burpsuite环境Jython安装方法1

    Burpsuite 环境 Jython 安装by:裁决Jython 介绍Jython 是一种完整的语言,而不是一个 Java 翻译器或仅仅是一个 Python

    jython-standalone-2.7.2.jar

    jython-standalone-2.7.2.jar,java应用调用Python。

    Jython 2.7 正式版 —— installer jar

    经过近3年的等待,Jython 2.7的正式版终于出来了,放到CSDN上来方便大家下载。这是installer jar

    jython-installer-2.7.2rc1.jar

    Jython也有很多从CPython中继承的模块库。最有趣的事情是Jython不像CPython或其他任何高级语言,它提供了对其实现语言的一切存取。所以Jython不仅给你提供了Python的库,同时也提供了所有的Java类。这使其有一个巨大...

    jython-standalone-2.7.1 burpsuite的python环境配置

    jython-standalone-2.7.1 burpsuite的python环境配置

    jython-installer-2.7.0.jar免费下载

    为了省去大家找Jython安装包的时间,附上Jython2.7.0版本。 Jython是一种完整的语言,而不是一个Java翻译器或仅仅是一个Python编译器,它是一个Python语言在Java中的完全实现。

    jython2.5.4_与jython2.7.0包

    该资源包含jython2.5.4.jar和jython2.7.0.jar,jython的版本要与jdk的版本要对应,这样可以解决“Unsupported major.minor version 51.0”问题。其中,对于jdk1.6.x的版本,请使用jython2.5.4.jar jdk1.7.x的版本,...

    jython官方jython-standalone-2.5.2版本(版本缺失)

    jython官方正版资源 为了省去大家找Jython安装包的时间,附上Jython此版本。 Jython是一种完整的语言,而不是一个Java翻译器或仅仅是一个Python编译器,它是一个Python语言在Java中的完全实现。

    jython解析xml文件

    jython解析xml文件

    jython中文详细教程

    ibm jython中文教程 讲得非常详细

    jython写jsp标签

    jython写jsp标签

Global site tag (gtag.js) - Google Analytics