Python 3.8 เบ›เปˆเบญเบเบญเบญเบเบกเบฒ

เบ™เบฐเบงเบฑเบ”เบ•เบฐเบเปเบฒเบ—เบตเปˆเปœเป‰เบฒเบชเบปเบ™เปƒเบˆเบ—เบตเปˆเบชเบธเบ”:

  • เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบเบฒเบ™เบกเบญเบšเบซเบกเบฒเบ:

    เป‚เบ•เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ := เปƒเบซเบกเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบกเบญเบšเบ„เปˆเบฒเปƒเบซเป‰เบเบฑเบšเบ•เบปเบงเปเบ›เบžเบฒเบเปƒเบ™ expressions. เบเบปเบโ€‹เบ•เบปเบงโ€‹เบขเปˆเบฒเบ‡:
    เบ–เป‰เบฒ (n := len(a)) > 10:
    print(f"เบฅเบฒเบเบเบฒเบ™เบเบฒเบงเป€เบเบตเบ™เป„เบ› ({n} เบญเบปเบ‡เบ›เบฐเบเบญเบš, เบ„เบฒเบ”เบงเปˆเบฒ <= 10)")

  • เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบ•เบฒเบกเบ•เบณเปเปœเปˆเบ‡เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™:

    เบ•เบญเบ™เบ™เบตเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบฅเบฐเบšเบธเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ—เปเบฒเบ‡เบฒเบ™เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบชเบปเปˆเบ‡เบœเปˆเบฒเบ™ syntax argument เบ—เบตเปˆเบกเบตเบŠเบทเปˆเปเบฅเบฐเบชเบดเปˆเบ‡เบ—เบตเปˆเบšเปเปˆเบชเบฒเบกเบฒเบ”. เบ•เบปเบงเบขเปˆเบฒเบ‡:
    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
    print(f'เบชเบฐเบšเบฒเบเบ”เบตเป‚เบฅเบ {n=}.')
    # เบˆเบฐเบžเบดเบก "เบชเบฐเบšเบฒเบเบ”เบตเป‚เบฅเบ n=42."

  • เปเบเป‰เป„เบ‚เบ„เปเบฒเบชเปเบฒเบ„เบฑเบ™เบชเบทเบšเบ•เปเปˆเปƒเบ™เบšเบฅเบฑเบญเบเบชเบธเบ”เบ—เป‰เบฒเบ (เบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰เป€เบฎเบฑเบ”เบงเบฝเบเบเปˆเบญเบ™).

เบญเบทเปˆเบ™เป†:

  • เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบฅเบฐเบšเบธเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เป„เบ›เบซเบฒ bytecode cache เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ __pycache__.
  • Debug เปเบฅเบฐ Release builds เปƒเบŠเป‰ ABI เบ”เบฝเบงเบเบฑเบ™.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: linux.org.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™