Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah saya boleh memanggil fungsi Python dari Java menggunakan Jython?

Bagaimanakah saya boleh memanggil fungsi Python dari Java menggunakan Jython?

Barbara Streisand
Barbara Streisandasal
2024-11-08 04:05:02400semak imbas

How can I call Python functions from Java using Jython?

Memanggil Python daripada Java: Peranan Jython

Sementara Jython merapatkan pembahagian Python-Java dengan memudahkan pelaksanaan kod Python dalam persekitaran Java, adalah penting untuk mengambil perhatian kefungsian utamanya: membolehkan penggunaan kod Java dari Python.

Memanggil Fungsi Python dari Java dengan Jython

Jika kod Python anda serasi dengan Jython (iaitu, bebas daripada sambungan C yang tidak disokong), anda boleh memanggil Python dengan lancar fungsi dari Jawa. Pendekatan ini menawarkan penyelesaian paling mudah untuk tugas ini.

Contoh Ilustrasi

Coretan kod Java berikut menunjukkan cara menggunakan fungsi Python yang beroperasi pada rentetan dan mengembalikan rentetan:

<code class="java">PythonInterpreter interpreter = new PythonInterpreter();
interpreter.exec("import sys\nsys.path.append('pathToModules if they are not there by default')\nimport yourModule");
PyObject someFunc = interpreter.get("funcName");
PyObject result = someFunc.__call__(new PyString("Test!"));
String realResult = (String) result.__tojava__(String.class);</code>

Pendekatan Alternatif untuk Lebih Kompleks Senario

Dalam kes di mana Jython bukan penyelesaian yang sesuai, Java 6 memperkenalkan org.python.util.PythonInterpreter. API ini menyediakan alternatif untuk melaksanakan kod Python daripada Java.

Nota: Jython pada masa ini tidak menyokong Python 3.x pada 2021.

Atas ialah kandungan terperinci Bagaimanakah saya boleh memanggil fungsi Python dari Java menggunakan Jython?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn