4

柔軟なフレームワークが必要であり、その場で動作を変更するために、そのフレームワークのさまざまな場所にコードを挿入してみたいと思います。

これはJavaプロジェクトであり、基本的にはインターフェースに限定されており、それらの背後にある実装で遊んでいるので、Jythonを実行して、それがテーブルに何をもたらすかを確認するかもしれません。

つまり、eval()これは強力な関数であり、コードを文字列として追加して評価することができます。少なくともPythonでは、基本的にJavaにコンパイルされるため、質問が飛び交います...

Pythonと比較してJythonにはどのような制限がありますか?JythonではできないPythonで何ができますか?

4

2 に答える 2

4

以前の投稿で述べたように、あなたは本当にCPythonとJythonを比較しようとしています。前述のように、Jythonの安定バージョンは2.5.3で、アルファバージョンは2.7です。これは、Jythonに欠けている特定の機能があることを意味します。例として、順序付けられた辞書、カウンター、および名前付きタプルはすべて、2.5以降コレクションパッケージに追加されました。Jythonでは、NumPy、SciPy、GeoDjango、Lxml、またはC拡張機能を使用するものなどの多くのサードパーティPythonライブラリを使用できません。

一方、Jythonには、CPythonでは見つけることができないいくつかの利点があります。Jythonを使用すると、Djangoを標準のJavaサーバー(Tomcat、WebLogicなど)にデプロイできます。Jythonコードから既存のJavaクラスを呼び出すことができます。

于 2012-10-24T14:52:51.790 に答える
1

jythonとcpythonはどちらもpythonですが、一方はcで実装され、もう一方はJavaで実装されているため、比較することを検討してください。したがって、cpythonを使用すると、起動時間がはるかに速くなります。それぞれの起動時間をチェックしてhelloworldの例を実行すると、cpythonはコードを約50倍速く実行しました。Jython安定版は、現在、2シリーズの現在のpython2.7よりもはるかに古いPython2.5を使用しており、python3の実装はありません。そのため、そこにある機能のいくつかを見逃してしまうでしょう。

$ time jython -c "print 'hello'"
hello
real    0m1.641s
$ time python -c "print 'hello'"
hello
real    0m0.026s
于 2012-10-23T17:15:20.717 に答える