Python 3.8 version

De mest intressanta innovationerna:

  • Tilldelningsuttryck:

    Den nya operatorn := låter dig tilldela värden till variabler i uttryck. Till exempel:
    om (n := len(a)) > 10:
    print(f"Listan är för lång ({n} element, förväntat <= 10)")

  • Enbart positionsargument:

    Du kan nu specificera vilka funktionsparametrar som kan passeras genom namngiven argumentsyntax och vilka som inte kan. Exempel:
    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) # fel, "b" kan inte vara ett namngivet argument
    f(10, 20, 30, 40, 50, f=60) # fel, "e" måste vara ett namngivet argument

    Denna ändring ger utvecklare ett sätt att skydda användare av sina API:er från ändringar i funktionsargumentnamn.

  • Stöd f-strängar = för självdokumenterande uttryck och felsökning:

    Tillsatt socker för att förenkla felsökning/loggning av meddelanden.
    n = 42
    print(f'Hej världen {n=}.')
    # kommer att skriva ut "Hej värld n=42."

  • Fixade nyckelordet fortsätt i finally-blocket (det fungerade inte tidigare).

annat:

  • Du kan uttryckligen ange sökvägen till bytecode-cachen istället för standard __pycache__.
  • Debug och Release builds använder samma ABI.

Källa: linux.org.ru

Lägg en kommentar