Tuuina atu o le JPype 1.0, o se faletusi mo le mauaina o vasega Java mai le Python

Avanoa fa'asa'olotoga jpg 1.0, lea e mafai ai e le Python talosaga ona maua atoa avanoa i faletusi vasega i le gagana Java. Faatasi ai ma le JPype mai le Python, e mafai ona e faʻaogaina le Java-specific library e fatu ai faʻaoga faʻapipiʻi e tuʻufaʻatasia le Java ma le Python code. E le pei o Jython, o le tuʻufaʻatasia ma Java e le maua e ala i le fatuina o se Python variant mo le JVM, ae e ala i fegalegaleaiga i le tulaga o masini komepiuta uma e faʻaaoga ai mafaufauga faʻasoa. O le auala faʻatulagaina e mafai ai e le gata ina ausia le faʻatinoga lelei, ae maua ai foi avanoa i faletusi uma CPython ma Java. Poloketi code tufatufaina e laiseneina i lalo ole Apache 2.0.

Suiga autu:

  • E lagolagoina le JChar o se ituaiga toe faafoi. Mo le fesoʻotaʻiga, e maua e JChar mai le "str" ​​​​ma faʻaaogaina se liua faʻaalia i le "int". O lea la, e pasi siaki i konekarate. Ae o lona uiga e le o toe taʻua o se numera numera i le Python ma o le mea lea o le isinstance(c, int) e iloilo i le False, lea e ogatasi ma tulafono o le suiga o Java.
  • Ua fa'alauiloa mai se fa'alapotopotoga e lafo se ituaiga Java, Type@obj (@ o se fa'aoga Python mo oloa i totonu; Java e leai se tasi).
  • Faʻaopoopo faʻamatalaga mo le fatuina o Java arrays. Ituaiga [s1][s2][s3] mo fa'asologa o lapopo'a, Type[:][:][:] mo fa'asologa o le a faia mulimuli ane.
  • @FunctionalInterface e mafai ai ona e fatuina Java functors mai mea Python ma __call__.
  • Ave'ese le JIterator ua le toe fa'aaogaina, fa'aaoga le JException e fai ma falegaosimea, get_default_jvm_path ma jpype.reflect.
  • Ona o le faaletonu, Java strings e le liua i Python strings.
  • Ua le toe fa'aaogaina e le Python le "__int__", o le mea lea o le fa'aogaina o fa'ailoga i le va o le numera ma le fa'anofoa-mea o le a maua ai se TypeError.
  • O le faʻaaogaina o le JException ua faʻaumatia. Ina ia maua uma tuusaunoaga, pe siaki o se mea o se ituaiga tuusaunoaga Java, faaaoga java.lang.Throwable.
  • O mafuaʻaga faʻasolosolo o tuusaunoaga Java o loʻo faʻaalia nei ile faʻapipiʻi faʻapipiʻi Python.
  • JString ua le toe faaaogaina. Ina ia fatuina se manoa Java, poʻo le siakiina o se mea o se ituaiga Java string, faʻaaoga java.lang.String.
  • Ua toe fa'afouina auala fa'afouga i vasega Java.
  • java.util.List e fa'atino konekarate mo collections.abc.Sequence ma collections.abc.MutableSequence.
  • java.util.Collection fa'atino le konekarate mo collections.abc.Collection.
  • Java vasega e tumaoti ma o le a lafo TypeError pe a faʻalautele mai le Python.
  • Taulima lelei le Pule-C. O lo'o pa'u lomiga muamua pe a fa'agasolo e Java se fa'ailoga Pule-C aua o le a fa'amutaina Java i le taimi o le vala'au. O le a lafo nei e JPype se InterruptedException pe a toe foʻi mai Java. O le a le lafoaia e le Pule-C faiga Java tetele e pei ona faʻatinoina nei, talu ai e leai se meafaigaluega faʻapitoa a Java mo lenei mea.

O le isi, na faia ai se faʻasaʻoga faʻasaʻo 1.0.1, lea na faʻaopoopoina ai suiga e foia ai faʻafitauli ma le Python 3.8.4 faʻamalolo. Ua suia e le Python le manatu e uiga i le faʻaogaina o le "__setattr__" mo le "mea" ma le "ituaiga", e taofia ai mai le faʻaaogaina e suia ai vasega na maua mai. Ua fa'amatu'u mai fo'i le siakiina o mea sese mai le auala "__setattr__", o lea e tatau ai ona toe fa'afouina ituaiga o fa'ama'i i nisi o siaki talafeagai.

puna: opennet.ru

Faaopoopo i ai se faamatalaga