Python 3.8 utgivelse

De mest interessante nyvinningene:

  • Oppdragsuttrykk:

    Den nye :=-operatoren lar deg tilordne verdier til variabler i uttrykk. For eksempel:
    hvis (n := len(a)) > 10:
    print(f"Listen er for lang ({n} elementer, forventet <= 10)")

  • Kun posisjonsargumenter:

    Du kan nå spesifisere hvilke funksjonsparametere som kan sendes gjennom navngitt argumentsyntaks og hvilke som ikke kan. Eksempel:
    def f(a, b, /, c, d, *, e, f):
    print(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) # feil, `b` kan ikke være et navngitt argument
    f(10, 20, 30, 40, 50, f=60) # feil, `e` må være et navngitt argument

    Denne endringen gir utviklere en måte å beskytte brukere av deres API-er mot endringer i funksjonsargumentnavn.

  • Støtte f-strenger = for selvdokumenterende uttrykk og feilsøking:

    Tilsatt sukker for å forenkle feilsøking/logging av meldinger.
    n = 42
    print(f'Hei verden {n=}.')
    # vil skrive ut "Hello world n=42."

  • Rettet fortsett-nøkkelordet i finally-blokken (det fungerte ikke før).

andre:

  • Du kan eksplisitt spesifisere banen til bytekodebufferen i stedet for standard __pycache__.
  • Debug og Release builds bruker samme ABI.

Kilde: linux.org.ru

Legg til en kommentar