Re: [問題] 通過Jython,編寫Java程序

作者: uranusjr (←這人是超級笨蛋)   2017-10-21 19:50:05
※ 引述《dharma (達)》之銘言:
: Jython是採用Java語言實現的Python。這樣,你只要按照Python的語法,就可以調用
: Java的各種類庫,快速的編寫出基於Java的程序。也就是通過Jython,編寫Java程序。
: http://m.itboth.com/d/iQfuMz/python-java-jython
: 請問上文意思是說
: 原本用Java寫出來的程式
: 全部都可以改成用Python語法來寫
: 是這樣嗎?
: 還是其實有什麼限制
: thanks
Jython 本身是一個完整的 Python 直譯器
只是那個直譯器本身是 Java 寫的
因為這個原因, 所以你很容易用 Java 寫出 Jython 能用的直譯器擴充
最常用的 CPython 是用 C 寫的
所以只要寫一個包裝把 C 類別轉成 Python 看得懂的型別
就可以很容易從 Python 呼叫 C 模組
Jython 與 Java 也是一樣的道理
只要寫一層很薄的包裝, 把 Java 函式庫的 API 轉成 Jython 看得懂的形式
就可以在 Python 程式透過這層 API 使用 Java 函式庫的功能
也因為如此, Jython 本身就直接幫你包了很多 Java 標準庫的功能
讓你可以直接在 Python 通過這層 API 包裝, 呼叫 Java 標準庫
但如果你要用第三方函式庫, 就是得自己寫一個這樣的包裝, 才能在 Python 使用
Jython 的使用情境是「我有一些 Java 功能, 想用 Python 呼叫它們」
而不是「我有一些 Java 程式, 想用 Python 取代」(雖然它還是可能有用)
作者: sbrhsieh (十年一夢)   2017-10-22 23:44:00
在 Jython 使用任何Java函式庫都不需要自己寫glue code
作者: uranusjr (←這人是超級笨蛋)   2017-10-23 01:04:00
是喔那是我搞錯了, 不過最後結論還是一樣

Links booklink

Contact Us: admin [ a t ] ucptt.com