Python 3.8-release

De meest interessante innovaties:

  • Toewijzingsuitdrukking:

    Met de nieuwe operator := kunt u waarden toewijzen aan variabelen binnen expressies. Bijvoorbeeld:
    als (n := len(a)) > 10:
    print(f"Lijst is te lang ({n} elementen, verwacht <= 10)")

  • Alleen-positionele argumenten:

    U kunt nu opgeven welke functieparameters via de syntaxis van benoemde argumenten kunnen worden doorgegeven en welke niet. Voorbeeld:
    def f(a, b, /, c, d, *, e, f):
    afdrukken(a, b, c, d, e, f)

    f(10, 20, 30, d=40, e=50, f=60) # OK
    f(10, b=20, c=30, d=40, e=50, f=60) # fout, `b` kan geen benoemd argument zijn
    f(10, 20, 30, 40, 50, f=60) # fout, `e` moet een benoemd argument zijn

    Deze wijziging biedt ontwikkelaars een manier om gebruikers van hun API's te beschermen tegen wijzigingen in de namen van functieargumenten.

  • Ondersteuning f-strings = voor zelfdocumenterende expressies en foutopsporing:

    Suiker toegevoegd om het debuggen/loggen van berichten te vereenvoudigen.
    n = 42
    print(f'Hallo wereld {n=}.')
    # zal "Hallo wereld n=42" afdrukken.

  • Het trefwoord 'continue' in het 'final'-blok is opgelost (eerder werkte dit niet).

Ander:

  • U kunt expliciet het pad naar de bytecode-cache opgeven in plaats van de standaard __pycache__.
  • Debug- en Release-builds gebruiken dezelfde ABI.

Bron: linux.org.ru

Voeg een reactie