Rumah >Java >javaTutorial >Bolehkah Java Memanggil Fungsi Python?

Bolehkah Java Memanggil Fungsi Python?

Linda Hamilton
Linda Hamiltonasal
2024-12-02 15:14:10138semak imbas

Can Java Call Python Functions?

Memanggil Python dalam Java: Meneroka Kemungkinan

Persoalan sama ada mungkin untuk menggunakan fungsi Python daripada kod Java adalah teras perbincangan ini. Walaupun nampaknya logik bahawa Jython terutamanya membolehkan kod Python berinteraksi dengan Java, sebenarnya, ia menyokong kedua-dua arah.

Penyelesaian: Memanfaatkan Jython

Jython berfungsi sebagai jambatan antara Python dan Java, membolehkan integrasi yang lancar antara kedua-dua bahasa. Dengan Jython, anda boleh memanggil fungsi Python dengan lancar dalam kod Java anda, dengan syarat kod Python mematuhi persekitaran pelaksanaan Jython dan tidak bergantung pada sambungan C yang tidak disokong.

Contoh: Meletakkan Jython ke dalam Tindakan

Untuk menggambarkan proses, pertimbangkan perkara berikut coretan:

PythonInterpreter interpreter = new PythonInterpreter();
interpreter.exec("import sys\nsys.path.append('pathToModules if they are not there by default')\nimport yourModule");
// execute a function that takes a string and returns a string
PyObject someFunc = interpreter.get("funcName");
PyObject result = someFunc.__call__(new PyString("Test!"));
String realResult = (String) result.__tojava__(String.class);

Coretan kod ini menunjukkan cara untuk melaksanakan fungsi Python bernama "funcName" daripada Java, menghantar rentetan dan menerima hasilnya sebagai rentetan.

Nota: Adalah penting untuk ambil perhatian bahawa Jython pada masa ini tidak menyokong Python 3.x, mengehadkan keserasiannya dengan Python 2.x versi.

Atas ialah kandungan terperinci Bolehkah Java Memanggil Fungsi Python?. 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