Sakin JPype 0.7.2, dakunan karatu don samun damar darussan Java daga Python

Akwai sakin layi JPYpe 0.7.2, wanda ke ba da damar aikace-aikacen Python su sami cikakkiyar damar zuwa ɗakunan karatu na aji a cikin yaren Java. Tare da JPype daga Python, zaku iya amfani da takamaiman ɗakunan karatu na Java don ƙirƙirar ƙa'idodin ƙa'idodi waɗanda suka haɗa lambar Java da Python. Ba kamar Jython ba, ana samun haɗin kai tare da Java ba ta hanyar ƙirƙirar bambance-bambancen Python don JVM ba, amma ta hanyar hulɗa a matakin na'urori masu kama da juna ta amfani da ƙwaƙwalwar ajiya. Hanyar da aka tsara ta ba da damar ba kawai don cimma kyakkyawan aiki ba, amma kuma yana ba da dama ga duk ɗakunan karatu na CPython da Java. Lambar aikin rarraba ta lasisi a ƙarƙashin Apache 2.0.

Babban canje-canje:

  • Keɓancewar da aka jefa a cikin C++ da lambar Java yanzu suna ba da keɓantaccen tari lokacin da keɓancewa ya faru a lambar Python. Don haka, don samun bayani game da keɓancewar tari, ba kwa buƙatar ƙara kiran stacktrace().
  • An ninka saurin dawo da kira sau uku.
  • Mahimmanci (ta hanyar oda mai girma) ƙara saurin watsawa a ciki
    numpy buffers na multidimensional tsararru. Multidimensional primitives sun wuce kwafin karantawa-kawai da aka ƙirƙira a cikin JVM tare da shimfidar C mai ci gaba.

  • An maye gurbin duk abubuwan ciki da aka fallasa tare da aiwatar da CPython, da alamomin __javaclass__, __javavalue__ da __javaproxy__
    share An ƙara ramin Java da aka keɓe ga duk nau'ikan CPython waɗanda suka gada daga nau'ikan ajin jpype. An matsar da duk tebur masu zaman kansu zuwa CPython. Dole ne nau'ikan Java yanzu su gaji daga JClass metaclass, wanda ke amfani da nau'in ramummuka. Mixins don azuzuwan tushe na Python ba a yarda ba. Nau'o'in sune Abu, Wakili, Banda, Lamba da Tsari kuma suna gado kai tsaye daga aiwatar da ciki na CPython.

  • Ingantacciyar ganowa da ban sha'awa.
  • Yanzu ana sarrafa sassan tsararru azaman ra'ayoyi masu goyan bayan rubutawa zuwa na asali, kamar tsararrun adadi. Don slicing tsararru, ana ba da tallafi don saitawa da dawo da ƙima a cikin matakai (yanki (farawa, tsayawa, mataki)).
  • Tsari yanzu suna tallafawa "__reversed__".
  • Tsare-tsaren Java yanzu suna goyan bayan API na duba ƙwaƙwalwar ajiya kuma suna cire dogaro akan lambobi don wuce abubuwan buffer.
  • Numpy ba abin dogaro ba ne (ƙari) kuma ana samun canja wurin ƙwaƙwalwar ajiya zuwa lamba ba tare da haɗawa tare da goyan bayan lamba ba.
  • An tsara JInterface azaman ajin meta. Yi amfani da isinstance(cls, JInterface) don bincika musaya.
  • An ƙara bacewar TLDs "mil", "net" da "edu" zuwa tsoffin shigo da kaya.
  • Ingantattun saƙonnin kuskure don Ƙwararren Ƙwararren Ƙwararru yayin farawa.
  • java.util.Map yanzu yana jefa Kuskuren Maɓalli idan ba a sami kashi ba. Ƙimar da ba ta da tushe har yanzu babu ko ɗaya kamar yadda aka zata. Yi amfani da samun () idan kuna son ɗaukar maɓallan fanko azaman Babu.
  • An cire java.util.Tarin kamar yadda abin ban mamaki yayi yawa tsakanin cire (Abin) da cire (int) akan Lissafi. Yi amfani da hanyar cire Java don samun dama ga ɗabi'ar Java ta ƙasa, amma ana ba da shawarar simintin simintin don sarrafa nauyi mai yawa.
  • java.lang.IndexOutOfBoundsException yanzu ana iya kamawa ta amfani da ajin keɓantawar IndexError lokacin shiga abubuwan java.util.List.

source: budenet.ru

Add a comment