Hoʻokuʻu ʻia o JPype 0.7.2, nā hale waihona puke no ke komo ʻana i nā papa Java mai Python

Loaʻa hoʻokuʻu papa jpg 0.7.2, hiki i nā polokalamu Python ke komo piha i nā hale waihona puke ma ka ʻōlelo Java. Me JPype mai Python, hiki iā ʻoe ke hoʻohana i nā hale waihona puke Java-specific no ka hana ʻana i nā noi hybrid e hui pū ai i ka code Java a me Python. ʻAʻole like me Jython, hoʻokō ʻia ka hoʻohui ʻana me Java ma o ka hana ʻana i kahi ʻano Python no ka JVM, akā ma o ka launa pū ʻana ma ka pae o nā mīkini virtual ʻelua me ka hoʻohana ʻana i ka hoʻomanaʻo like. ʻO ke ala i manaʻo ʻia ʻaʻole hiki ke hoʻokō i ka hana maikaʻi wale nō, akā hāʻawi pū i ke komo i nā hale waihona puke CPython a me Java. Code papahana mahele ʻia e laikini ma lalo o Apache 2.0.

Nā hoʻololi nui:

  • ʻO nā ʻokoʻa i hoʻolei ʻia ma C ++ a me Java code i kēia manawa e hāʻawi i kahi waihona ʻokoʻa ke loaʻa kahi ʻokoʻa i ka code Python. No laila, no ka loaʻa ʻana o ka ʻike e pili ana i ka waihona hoʻokoe, ʻaʻole pono ʻoe e kāhea i stacktrace ().
  • Ua hoʻopākolu ʻia ka wikiwiki hoʻihoʻi kelepona.
  • ʻO ka nui (ma nā kauoha o ka nui) hoʻonui i ka wikiwiki o ka hoʻouna ʻana i loko
    numpy buffers o multidimensional arrays. Hāʻawi nā mea mua multidimensional i nā kope heluhelu-wale nō i hana ʻia i loko o ka JVM me kahi hoʻolālā C pili.

  • Ua hoʻololi ʻia nā mea ʻokoʻa āpau āpau me nā hoʻokō CPython, a me nā hōʻailona __javaclass__, __javavalue__ a me __javaproxy__
    holoi ʻia. Ua hoʻohui ʻia kahi slot Java i hoʻolaʻa ʻia i nā ʻano CPython āpau i hoʻoilina mai nā ʻano papa jpype. Ua hoʻoneʻe ʻia nā papa pilikino āpau i CPython. Pono e hoʻoili ʻia nā ʻano Java mai ka JClass metaclass, e hoʻohana ana i nā ʻano slots. ʻAʻole ʻae ʻia nā Mixins no nā papa kumu Python. ʻO nā ʻano he Object, Proxy, Exception, Number and Array a hoʻoili pololei mai nā hoʻokō kūloko o CPython.

  • Hoʻomaikaʻi ʻia ka huli ʻana a me ka mālama ʻokoʻa.
  • Hoʻopili ʻia nā ʻāpana Array e like me nā manaʻo e kākoʻo ana i ke kākau ʻana i ka mea kumu, e like me ka array numpy. No ka ʻoki ʻana i ka array, hāʻawi ʻia ke kākoʻo no ka hoʻonohonoho ʻana a kiʻi ʻana i nā waiwai i nā ʻanuʻu (slice (hoʻomaka, hoʻomaha, ʻanuʻu)).
  • Kākoʻo ʻo Arrays i kēia manawa "__reversed__".
  • Ke kākoʻo nei ʻo Java arrays i ka API memoryview a hoʻoneʻe i ka hilinaʻi ma ka numpy e hāʻawi i nā ʻike buffer.
  • ʻAʻole ʻo Numpy kahi hilinaʻi (keu) a loaʻa ka hoʻololi hoʻomanaʻo i ka numpy me ka ʻole o ka hui ʻana me ke kākoʻo numpy.
  • Hoʻolālā ʻia ʻo JInterface ma ke ʻano he papa meta. E hoʻohana i ka isinstance (cls, JInterface) e nānā i nā pilina.
  • Hoʻohui ʻia nā TLD i nalowale "mil", "net" a me "edu" i nā hoʻokomo paʻamau.
  • Ua hoʻomaikaʻi ʻia nā memo hewa no UnsupportedClassVersion i ka wā hoʻomaka.
  • Hoʻolei ʻo java.util.Map i kahi KeyError inā ʻaʻole ʻike ʻia ka mea. ʻAʻole hoʻi e like me ka mea i manaʻo ʻia. E hoʻohana i ka loaʻa () inā makemake ʻoe e mālama i nā kī kī ʻole e like me ʻAʻohe.
  • Wehe ʻia ʻo java.util.Collection e like me ka mea ʻē aʻe ma waena o ka wehe (mea) a me ka wehe (int) ma nā Lists. E hoʻohana i ke ala Java remove() no ke komo ʻana i ka ʻano Java maoli, akā makemake nui ʻia ka hoʻolei ʻana no ka mana overload.
  • Hiki ke hopu ʻia ʻo java.lang.IndexOutOfBoundsException me ka hoʻohana ʻana i ka papa ʻokoʻa IndexError ke komo i nā mea java.util.List.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka