Издание на Python 3.8

Најинтересните иновации:

  • Израз на задача:

    Новиот := оператор ви овозможува да доделите вредности на променливите во изразите. На пример:
    ако (n := len(a)) > 10:
    print(f"Списокот е премногу долг ({n} елементи, се очекува <= 10)")

  • Аргументи само за позиции:

    Сега можете да одредите кои параметри на функцијата може да се пренесат низ именуваната синтакса на аргументи, а кои не. Пример:
    def f(a, b, /, c, d, *, e, f):
    печатење (a, b, c, d, e, f)

    f(10, 20, 30, d=40, e=50, f=60) # Во ред
    f(10, b=20, c=30, d=40, e=50, f=60) # грешка, `b` не може да биде именуван аргумент
    f(10, 20, 30, 40, 50, f=60) # грешка, `e` мора да биде именуван аргумент

    Оваа промена им дава на програмерите начин да ги заштитат корисниците на нивните API од промени во имињата на аргументите на функциите.

  • Поддршка f-strings = за самодокументирање на изрази и дебагирање:

    Додаден шеќер за да се поедностават пораките за отстранување грешки/логирање.
    n = 42
    печатење (f'Здраво светот {n=}.')
    # ќе отпечати „Здраво свет n=42“.

  • Поправен е клучниот збор „продолжи“ во конечниот блок (не работеше порано).

Друго:

  • Можете експлицитно да ја наведете патеката до кешот на бајтекод наместо стандардната __pycache__.
  • Изградбите за отстранување грешки и издавање го користат истото ABI.

Извор: linux.org.ru

Додадете коментар