Belangrikste veranderinge:
- Uitsonderings wat in C++ en Java-kode gegooi word, bied nou 'n uitsonderingsstapel wanneer 'n uitsondering in Python-kode voorkom. Dus, om inligting oor die uitsonderingsstapel te bekom, hoef jy nie meer stacktrace() te roep nie.
- Die oproep terugkeer spoed is verdriedubbel.
- Aansienlik (volgens grootteordes) verhoogde transmissiespoed in
nommerige buffers van multidimensionele skikkings. Multidimensionele primitiewe slaag leesalleen-kopieΓ« wat binne die JVM geskep is met 'n aaneenlopende C-uitleg. - Alle blootgestelde internals is vervang met CPython-implementerings, en die simbole __javaclass__, __javavalue__ en __javaproxy__
geskrap. 'n Toegewyde Java-gleuf is bygevoeg by alle CPython-tipes wat van jpype-klastipes erf. Alle private tafels is na CPython geskuif. Java-tipes moet nou van die JClass-metaklas erf, wat tipegleuwe gebruik. Mengsels vir Python-basisklasse word nie toegelaat nie. Die tipes is Object, Proxy, Exception, Number en Array en erf direk van CPython se interne implementerings. - Verbeterde opsporing en uitsonderingshantering.
- Skikkingskywe word nou verwerk as aansigte wat terugskryf na die oorspronklike ondersteun, soos 'n numpy skikking. Vir skikkingsny word ondersteuning verskaf vir die opstel en herwinning van waardes in stappe (sny (begin, stop, stap)).
- Skikkings ondersteun nou "__reversed__".
- Java-skikkings ondersteun nou die memoryview API en verwyder die afhanklikheid van numpy om die bufferinhoud deur te gee.
- Numpy is nie meer 'n afhanklikheid (ekstra) nie en geheue-oordrag na numpy is beskikbaar sonder om met numpy-ondersteuning saam te stel.
- JInterface is ontwerp as 'n metaklas. Gebruik isinstance(cls, JInterface) om te kyk vir koppelvlakke.
- Het ontbrekende TLD's "mil", "net" en "edu" by verstek invoere gevoeg.
- Verbeterde foutboodskappe vir UnsupportedClassVersion tydens opstart.
- java.util.Map gooi nou 'n KeyError as die element nie gevind word nie. Waardes wat nul is, keer steeds terug Geen soos verwag nie. Gebruik get() as jy leΓ« sleutels as Geen wil behandel.
- Verwyder java.util.Collection aangesien dit vreemd genoeg oorlaai tussen verwyder(Object) en remove(int) op Lists. Gebruik die Java remove()-metode om toegang tot inheemse Java-gedrag te verkry, maar tipe casting word sterk aanbeveel vir oorladingsbeheer.
- java.lang.IndexOutOfBoundsException kan nou gevang word deur die IndexError-uitsonderingsklas te gebruik wanneer toegang tot java.util.List-elemente verkry word.
Bron: opennet.ru