Ho lokolloa ha JPype 1.0, lilaeborari tsa ho fihlella litlelase tsa Java ho tsoa Python

Fumaneha ho lokolloa ha interlayer JPpype 1.0, e u lumellang hore u hlophise phihlello e felletseng ea lits'ebetso tsa Python ho lilaebraring tsa sehlopha sa Java. Ka JPype e tsoang Python, o ka sebelisa lilaebrari tse ikhethileng ho Java ho theha lits'ebetso tse nyalisitsoeng tse kopanyang khoutu ea Java le Python. Ho fapana le Jython, ho kopanngoa le Java ha ho finyelloe ka ho theha mofuta oa Python bakeng sa JVM, empa ka ho sebelisana boemong ba mechine ka bobeli e sebelisang mohopolo o arolelanoeng. Mokhoa o reriloeng ha o lumelle feela ho fihlela ts'ebetso e ntle, empa o fana ka phihlello ho lilaebrari tsohle tsa CPython le Java. Khoutu ea morero ajoa ke e nang le tumello tlas'a Apache 2.0.

Liphetoho tse kholo:

  • JChar e tšehetsoa e le mofuta oa ho khutlisa. Bakeng sa ho lumellana, JChar e rua ho "str" ​​mme e sebelisa phetoho e hlakileng ho "int." Ka hona, e fetisa licheke tsa konteraka. Leha ho le joalo, sena se bolela hore ha e sa nkoa e le mofuta oa linomoro ho Python, ka hona, instance(c, int) e lekola ho False, e tsamaellanang le melao ea phetoho ea mofuta oa Java.
  • Ho tsebisitsoe opareitara bakeng sa ho etsa mofuta oa Java, Type@obj (@ ke opareitara ea Python bakeng sa sehlahisoa sa ka hare, se le sieo Java).
  • Kenyelletso ea ho theha li-array tsa Java. Type[s1][s2][s3] bakeng sa lihlopha tsa boholo bo tsitsitseng, Mofuta[:][:][:] bakeng sa lihlopha tse tla etsoa hamorao.
  • @FunctionalInterface e u lumella ho theha li-functions tsa Java ho tsoa ho lintho tsa Python ka __call__.
  • E tlositse JIterator e lahliloeng, tšebeliso ea JException joalo ka feme, get_default_jvm_path le jpype.reflect.
  • Ka ho sa feleng, likhoele tsa Java ha li fetoleloe ho likhoele tsa Python.
  • Python e theohile "__int__", kahoo likarolo tse hlakileng lipakeng tsa mefuta e felletseng le mefuta e phaphametseng li tla hlahisa TypeError.
  • Tšebeliso ea JException e theotsoe. Ho tšoara mekhelo eohle kapa ho hlahloba hore na ntho ke mofuta oa Java, sebelisa java.lang.Throwable.
  • Lisosa tse fokolang tsa mekhelo ea Java joale li se li bonahala ho liforeimi tsa stack tsa Python.
  • Tšebeliso ea JString e tlositsoe. Ho theha khoele ea Java kapa ho hlahloba hore na ntho ke ea mofuta oa khoele ea Java, sebelisa java.lang.String.
  • Mekhoa ea rep e ntlafalitsoe lihlopheng tsa Java.
  • java.util.List e phethahatsa likonteraka tsa pokello.abc.Tatelano le pokello.abc.MutableSequence.
  • java.util.Collection e phethahatsa konteraka ea pokello.abc.Collection.
  • Lihlopha tsa Java li poraefete 'me li tla lahlela TypeError ha li atolosoa ho tloha Python.
  • Ho sebetsana le Control-C hona joale ho nepahetse. Liphetolelo tse fetileng li ile tsa senyeha ha Java e sebetsana le lets'oao la Control-C, kaha li ne li tla felisa Java nakong ea mohala. Joale, JPype e tla lahlela InterruptedException ha e khutla ho tsoa Java. Control-C e ke ke ea lahleloa ho tsoa lits'ebetsong tse kholo tsa Java, joalo ka ha e se e kengoa ts'ebetsong, kaha Java ha e na mokhoa o khethehileng oa sena.

Tokollo e latelang, 1.0.1, e ne e le tokiso, e neng e kenyelletsa liphetoho ho rarolla mathata le Python 3.8.4. Python e fetotse mohopolo oa ho sebelisa "__setattr__" bakeng sa "ntho" le "mofuta," ho e thibela ho sebelisoa ho fetola lihlopha tse nkiloeng. Ho hlahloba liphoso ho boetse ho fanoe ho tsoa ho "__setattr__" mokhoa, kahoo mefuta e meng ea mekhelo litlhahlobong tse ling e hloka ho ntlafatsoa ka nepo.

Source: opennet.ru

Eketsa ka tlhaloso