የJPype 1.0 መለቀቅ፣ የጃቫ ክፍሎችን ከፓይዘን ለመድረስ ቤተ-መጻሕፍት

ይገኛል ንብርብር መልቀቅ ጄፒፒ 1.0, ይህም Python አፕሊኬሽኖች በጃቫ ቋንቋ ወደ ክፍል ቤተ-መጻሕፍት ሙሉ መዳረሻ እንዲኖራቸው ይፈቅዳል። በ JPype ከ Python ጋር፣ ጃቫን እና ፓይዘንን ኮድ የሚያጣምሩ ድቅል አፕሊኬሽኖችን ለመፍጠር ጃቫ-ተኮር ቤተ-መጽሐፍትን መጠቀም ይችላሉ። ከጄቶን በተለየ መልኩ ከጃቫ ጋር መቀላቀል የሚቻለው ለJVM የፓይዘን ልዩነት በመፍጠር ሳይሆን የጋራ ማህደረ ትውስታን በመጠቀም በሁለቱም ቨርቹዋል ማሽኖች ደረጃ መስተጋብር ነው። የታቀደው አካሄድ ጥሩ አፈጻጸምን ብቻ ሳይሆን ሁሉንም የሲፒቶን እና የጃቫ ቤተ-መጻሕፍት መዳረሻን ይሰጣል። የፕሮጀክት ኮድ የተሰራጨው በ በ Apache 2.0 ፍቃድ የተሰጠው.

ዋና ለውጦች፡-

  • JChar እንደ መመለሻ አይነት ይደገፋል። ለተኳሃኝነት፣ JChar ከ"str" ​​ይወርሳል እና ወደ "int" ልወጣን ይተገብራል። ስለዚህ, በኮንትራቶች ውስጥ ቼኮችን ያልፋል. ነገር ግን ይህ ማለት ከአሁን በኋላ በፓይዘን ውስጥ እንደ አሃዛዊ አይነት አይቆጠርም እና ስለዚህ isinstance(c, int) ወደ ሐሰት ይገመግማል ይህም ከጃቫ አይነት የመቀየሪያ ደንቦች ጋር የሚስማማ ነው።
  • አንድ ኦፕሬተር የጃቫ አይነት ለመቅረጽ አስተዋውቋል፣ Type@obj (@ ለውስጣዊ ምርት የፓይዘን ኦፕሬተር ነው፤ ጃቫ አንድ የለውም)።
  • የጃቫ ድርድሮችን ለመፍጠር የተጨመረ ማስታወሻ። ለቋሚ መጠን ድርድሮች [s1][s2][s3] ይተይቡ፣ በኋላ ለሚፈጠሩ ድርድር ይተይቡ።
  • @FunctionalInterface የጃቫ ፈንገሶችን ከፓይዘን ነገሮች በ__call__ እንዲፈጥሩ ይፈቅድልዎታል።
  • የተቋረጠ JIterator ተወግዷል፣ JException እንደ ፋብሪካ መጠቀም፣ get_default_jvm_path እና jpype.reflect።
  • በነባሪ የጃቫ ሕብረቁምፊዎች ወደ Python ሕብረቁምፊዎች አይቀየሩም።
  • Python "__int__" አቋርጧል፣ ስለዚህ በኢንቲጀር እና ተንሳፋፊ ነጥብ ዓይነቶች መካከል ያሉ ስውር ቀረጻዎች የTyError ይፈጥራሉ።
  • የJEException አጠቃቀም ተቋርጧል። ሁሉንም የማይካተቱ ነገሮች ለመያዝ ወይም አንድ ነገር የጃቫ ልዩ ​​ዓይነት መሆኑን ለማረጋገጥ java.lang.Throwable ይጠቀሙ።
  • የጃቫ ልዩ ​​ሁኔታዎች መንስኤዎች አሁን በፓይዘን ቁልል ፍሬሞች ውስጥ ተንጸባርቀዋል።
  • JString ተቋርጧል። የጃቫ ሕብረቁምፊ ለመፍጠር ወይም አንድ ነገር የጃቫ ሕብረቁምፊ አይነት መሆኑን ለማረጋገጥ java.lang.string ይጠቀሙ።
  • በጃቫ ክፍሎች ውስጥ repr ዘዴዎች ተዘምነዋል።
  • java.util.List ለክምችቶች.abc.ቅደም ተከተል እና ስብስቦች.abc.MutableSequence ውሎችን ይፈጽማል.
  • java.util.Collection ለክምችቶች.abc.ስብስብ ውሉን ይፈጽማል.
  • የጃቫ ትምህርቶች የግል ናቸው እና ከፓይዘን ሲራዘሙ TypeErrorን ይጥላሉ።
  • መቆጣጠሪያ-ሲ በጥንቃቄ ይያዙ. በጥሪው ወቅት ጃቫን ስለሚያቋርጡ የቀደሙት ስሪቶች ጃቫ የ Control-C ሲግናል ሲሰራ ይወድቃሉ። ከጃቫ ሲመለሱ JPype አሁን InterruptedException ይጥላል። Control-C በአሁኑ ጊዜ በተግባር ላይ እንደዋለ ትልቅ የጃቫ ሂደቶችን አይጥልም, ምክንያቱም ጃቫ ለዚህ የተለየ መሳሪያ ስለሌለው.

በመቀጠል፣ የማስተካከያ ልቀት 1.0.1 ተፈጠረ፣ ይህም በ Python 3.8.4 መለቀቅ ላይ ባሉ ችግሮች ዙሪያ ለመስራት ለውጦችን አክሏል። Python "__setattr__" ለ"ዕቃ" እና "አይነት" አጠቃቀምን በተመለከተ አመክንዮአዊ ለውጥ አድርጓል፣ ይህም የተገኙ ክፍሎችን ለማሻሻል ጥቅም ላይ እንዳይውል አድርጓል። ስሕተት መፈተሽ ከ"__setattr__" ዘዴ ተልኳል፣ስለዚህ ለየት ያሉ ዓይነቶች በአንዳንድ በቂ ቼኮች በዚሁ መሠረት መዘመን አለባቸው።

ምንጭ: opennet.ru

አስተያየት ያክሉ