ืžื”ื“ื•ืจืช Python 3.8

ื”ื—ื™ื“ื•ืฉื™ื ื”ืžืขื ื™ื™ื ื™ื ื‘ื™ื•ืชืจ:

  • ื‘ื™ื˜ื•ื™ ื”ืžืฉื™ืžื”:

    ื”ืื•ืคืจื˜ื•ืจ ื”ื—ื“ืฉ := ืžืืคืฉืจ ืœืš ืœื”ืงืฆื•ืช ืขืจื›ื™ื ืœืžืฉืชื ื™ื ื‘ืชื•ืš ื‘ื™ื˜ื•ื™ื™ื. ืœื“ื•ื’ืžื”:
    if (n := len(a)) > 10:
    print(f"ื”ืจืฉื™ืžื” ืืจื•ื›ื” ืžื“ื™ ({n} ืืœืžื ื˜ื™ื, ืฆืคื•ื™ <= 10)")

  • ื˜ื™ืขื•ื ื™ื ืœืžื™ืงื•ื ื‘ืœื‘ื“:

    ื›ืขืช ืชื•ื›ืœ ืœืฆื™ื™ืŸ ืื™ืœื• ืคืจืžื˜ืจื™ื ืฉืœ ืคื•ื ืงืฆื™ื•ืช ื ื™ืชืŸ ืœื”ืขื‘ื™ืจ ื“ืจืš ืชื—ื‘ื™ืจ ืืจื’ื•ืžื ื˜ื™ื ื‘ืขืœ ืฉื ื•ืื™ื–ื” ืœื. ื“ื•ื’ืžื:
    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) # ื‘ืกื“ืจ
    f(10, b=20, c=30, d=40, e=50, f=60) # error, `b` ืœื ื™ื›ื•ืœ ืœื”ื™ื•ืช ืืจื’ื•ืžื ื˜ ื‘ืขืœ ืฉื
    f(10, 20, 30, 40, 50, f=60) # error, `e` ื—ื™ื™ื‘ ืœื”ื™ื•ืช ืืจื’ื•ืžื ื˜ ื‘ืขืœ ืฉื

    ืฉื™ื ื•ื™ ื–ื” ื ื•ืชืŸ ืœืžืคืชื—ื™ื ื“ืจืš ืœื”ื’ืŸ ืขืœ ื”ืžืฉืชืžืฉื™ื ื‘ืžืžืฉืงื™ ื”-API ืฉืœื”ื ืžืคื ื™ ืฉื™ื ื•ื™ื™ื ื‘ืฉืžื•ืช ื”ืืจื’ื•ืžื ื˜ื™ื ืฉืœ ื”ืคื•ื ืงืฆื™ื•ืช.

  • ืชืžื™ื›ืช f-strings = ืœืชื™ืขื•ื“ ืขืฆืžื™ ืฉืœ ื‘ื™ื˜ื•ื™ื™ื ื•ื ื™ืคื•ื™ ื‘ืื’ื™ื:

    ื”ื•ืกืคืช ืกื•ื›ืจ ื›ื“ื™ ืœืคืฉื˜ ืืช ืื™ืชื•ืจ ื‘ืื’ื™ื/ืจื™ืฉื•ื ื”ื•ื“ืขื•ืช.
    n = 42
    print(f'Hello world {n=}.')
    # ื™ื“ืคื™ืก "Hello world n=42."

  • ืชื™ืงืŸ ืืช ืžื™ืœืช ื”ืžืคืชื— ื”ืžืฉืš ื‘ื‘ืœื•ืง ื”ืกื•ืคื™ (ื–ื” ืœื ืขื‘ื“ ืงื•ื“ื ืœื›ืŸ).

ืึทื—ึตืจ:

  • ืืชื” ื™ื›ื•ืœ ืœืฆื™ื™ืŸ ื‘ืžืคื•ืจืฉ ืืช ื”ื ืชื™ื‘ ืœืžื˜ืžื•ืŸ bytecode ื‘ืžืงื•ื ื‘ืจื™ืจืช ื”ืžื—ื“ืœ __pycache__.
  • ื‘ื ื™ื™ืช ื‘ืื’ื™ื ื•ืฉื—ืจื•ืจ ืžืฉืชืžืฉื•ืช ื‘ืื•ืชื• ABI.

ืžืงื•ืจ: linux.org.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”