ಪೈಥಾನ್ 3.9 ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯ ಬಿಡುಗಡೆ

ಅಭಿವೃದ್ಧಿಯ ಒಂದು ವರ್ಷದ ನಂತರ ಪ್ರಸ್ತುತಪಡಿಸಲಾಗಿದೆ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯ ಪ್ರಮುಖ ಬಿಡುಗಡೆ ಪೈಥಾನ್ 3.9. ಪೈಥಾನ್ 3.9 ನಂತರದ ಮೊದಲ ಬಿಡುಗಡೆಯಾಗಿದೆ ಪರಿವರ್ತನೆ ಯೋಜನೆಯಲ್ಲಿ ಹೊಸ ಚಕ್ರ ಬಿಡುಗಡೆಗಳ ತಯಾರಿ ಮತ್ತು ನಿರ್ವಹಣೆ. ಹೊಸ ಮಹತ್ವದ ಬಿಡುಗಡೆಗಳು ಈಗ ವರ್ಷಕ್ಕೊಮ್ಮೆ ರೂಪುಗೊಳ್ಳುತ್ತವೆ ಮತ್ತು ಪ್ರತಿ ಎರಡು ತಿಂಗಳಿಗೊಮ್ಮೆ ಸರಿಪಡಿಸುವ ನವೀಕರಣಗಳನ್ನು ಬಿಡುಗಡೆ ಮಾಡಲಾಗುತ್ತದೆ. ಪ್ರತಿಯೊಂದು ಮಹತ್ವದ ಶಾಖೆಯನ್ನು ಒಂದೂವರೆ ವರ್ಷಗಳವರೆಗೆ ಬೆಂಬಲಿಸಲಾಗುತ್ತದೆ, ನಂತರ ಇನ್ನೊಂದು ಮೂರುವರೆ ವರ್ಷಗಳವರೆಗೆ ದುರ್ಬಲತೆ ನಿವಾರಣೆಯೊಂದಿಗೆ ಪ್ಯಾಚ್‌ಗಳನ್ನು ರಚಿಸಲಾಗುತ್ತದೆ.

ಮುಂದಿನ ಶಾಖೆಯ ಬಿಡುಗಡೆಗೆ ಐದು ತಿಂಗಳ ಮೊದಲು ಹೊಸ ಶಾಖೆಯ ಕೆಲಸ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ, ಅಂದರೆ ಪೈಥಾನ್ 3.9 ಬಿಡುಗಡೆಯೊಂದಿಗೆ ಏಕಕಾಲದಲ್ಲಿ. ಶುರುವಾಯಿತು ಪೈಥಾನ್ 3.10 ಶಾಖೆಯ ಆಲ್ಫಾ ಪರೀಕ್ಷೆ. ಪೈಥಾನ್ 3.10 ಶಾಖೆಯು ಏಳು ತಿಂಗಳ ಕಾಲ ಆಲ್ಫಾ ಬಿಡುಗಡೆ ಮೋಡ್‌ನಲ್ಲಿರುತ್ತದೆ, ಈ ಸಮಯದಲ್ಲಿ ಹೊಸ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಸೇರಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ದೋಷಗಳನ್ನು ಸರಿಪಡಿಸಲಾಗುತ್ತದೆ. ಅದರ ನಂತರ, ಮೂರು ತಿಂಗಳ ಬೀಟಾ ಪರೀಕ್ಷೆ ಇರುತ್ತದೆ, ಈ ಸಮಯದಲ್ಲಿ ಯಾವುದೇ ಹೊಸ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಸೇರಿಸಲಾಗುವುದಿಲ್ಲ ಮತ್ತು ದೋಷಗಳನ್ನು ಸರಿಪಡಿಸಲು ಎಲ್ಲಾ ಗಮನವನ್ನು ನೀಡಲಾಗುತ್ತದೆ. ಬಿಡುಗಡೆಗೆ ಮುಂಚಿನ ಕೊನೆಯ ಎರಡು ತಿಂಗಳುಗಳು, ಶಾಖೆಯು ಬಿಡುಗಡೆ ಅಭ್ಯರ್ಥಿ ಮೋಡ್‌ನಲ್ಲಿರುತ್ತದೆ, ಈ ಸಮಯದಲ್ಲಿ ಅಂತಿಮ ಸ್ಥಿರೀಕರಣವನ್ನು ನಡೆಸಲಾಗುತ್ತದೆ.

ಪೈಕಿ ಸೇರಿಸಲಾಗಿದೆ ನಾವೀನ್ಯತೆಗಳು ಪೈಥಾನ್ 3.9 ರಲ್ಲಿ:

  • ಅಂತರ್ನಿರ್ಮಿತ ಡಿಕ್ಟ್ ವರ್ಗವನ್ನು ಬಳಸಿಕೊಂಡು ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ನಿಘಂಟುಗಳಲ್ಲಿ, ಕಂಡ ವಿಲೀನ "|" ಮತ್ತು ನವೀಕರಣ "|=" ಆಪರೇಟರ್‌ಗಳಿಗೆ ಬೆಂಬಲ, ಇದು ನಿಘಂಟುಗಳನ್ನು ವಿಲೀನಗೊಳಿಸಲು ಹಿಂದೆ ನೀಡಲಾದ {**d1, **d2} ಮತ್ತು dict.update ವಿಧಾನಗಳಿಗೆ ಪೂರಕವಾಗಿದೆ.

    >>> x = {"ಕೀ1": "x ನಿಂದ ಮೌಲ್ಯ1", "ಕೀ2": "x ನಿಂದ ಮೌಲ್ಯ2"}
    >>> y = {"ಕೀ2": "y ನಿಂದ ಮೌಲ್ಯ2", "ಕೀ3": "y ನಿಂದ ಮೌಲ್ಯ3"}

    >>> x | y
    {'key1': 'x ನಿಂದ ಮೌಲ್ಯ1', 'key2': 'y ನಿಂದ ಮೌಲ್ಯ2', 'key3': 'y ನಿಂದ ಮೌಲ್ಯ3'}

    >>> ವೈ | ಎಕ್ಸ್
    {'key2': 'x ನಿಂದ ಮೌಲ್ಯ2', 'key3': 'y ನಿಂದ ಮೌಲ್ಯ3', 'key1': 'x ನಿಂದ ಮೌಲ್ಯ1'}

  • ಅಂತರ್ನಿರ್ಮಿತ ಪ್ರಕಾರಗಳ ಸಂಗ್ರಹವು ಪಟ್ಟಿ, ಡಿಕ್ಟ್ ಮತ್ತು ಟುಪಲ್ ಅನ್ನು ಒಳಗೊಂಡಿದೆ, ಇವುಗಳನ್ನು ಟೈಪಿಂಗ್ ಮಾಡ್ಯೂಲ್‌ನಿಂದ ಆಮದು ಮಾಡಿಕೊಳ್ಳದೆಯೇ ಮೂಲ ಪ್ರಕಾರಗಳಾಗಿ ಬಳಸಬಹುದು. ಅಂದರೆ, typing.List ಬದಲಿಗೆ, typing.Dict ಮತ್ತು typing.Tuple, ನೀವು ಈಗ ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು
    ಪಟ್ಟಿ ಮಾಡಿ, ಹೇಳಿ ಮತ್ತು ಟುಪಲ್ ಮಾಡಿ:

    def greet_all(ಹೆಸರುಗಳು: ಪಟ್ಟಿ[str]) -> ಯಾವುದೂ ಇಲ್ಲ:
    ಹೆಸರುಗಳಲ್ಲಿ ಹೆಸರಿಗಾಗಿ:
    ಮುದ್ರಿಸು ("ಹಲೋ", ಹೆಸರು)

  • ಒದಗಿಸಲಾಗಿದೆ ಟಿಪ್ಪಣಿ ಕಾರ್ಯಗಳು ಮತ್ತು ವೇರಿಯೇಬಲ್‌ಗಳಿಗೆ ಹೊಂದಿಕೊಳ್ಳುವ ವಿಧಾನಗಳು. ಟಿಪ್ಪಣಿಗಳನ್ನು ಲಗತ್ತಿಸಲು, ಟೈಪಿಂಗ್ ಮಾಡ್ಯೂಲ್‌ಗೆ ಹೊಸ ಟಿಪ್ಪಣಿ ಪ್ರಕಾರವನ್ನು ಸೇರಿಸಲಾಗಿದೆ, ಸ್ಥಿರ ವಿಶ್ಲೇಷಣೆ ಅಥವಾ ರನ್‌ಟೈಮ್ ಆಪ್ಟಿಮೈಸೇಶನ್‌ಗಳಿಗಾಗಿ ಬಳಸಬಹುದಾದ ಹೆಚ್ಚುವರಿ ಮೆಟಾಡೇಟಾದೊಂದಿಗೆ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಪ್ರಕಾರಗಳನ್ನು ವಿಸ್ತರಿಸುತ್ತದೆ. ಕೋಡ್‌ನಿಂದ ಮೆಟಾಡೇಟಾವನ್ನು ಪ್ರವೇಶಿಸಲು, include_extras ಪ್ಯಾರಾಮೀಟರ್ ಅನ್ನು typing.get_type_hints() ವಿಧಾನಕ್ಕೆ ಸೇರಿಸಲಾಗಿದೆ.

    charType = ಟಿಪ್ಪಣಿ ಮಾಡಲಾದ[int, ctype("char")] ಸಹಿ ಮಾಡದ ಸಣ್ಣ = ಟಿಪ್ಪಣಿ ಮಾಡಲಾದ[int, struct2.ctype('H')]

  • ಮೃದುಗೊಳಿಸಲಾಗಿದೆ ಅಲಂಕಾರಕಾರರಿಗೆ ವ್ಯಾಕರಣದ ಅವಶ್ಯಕತೆಗಳು - if ಮತ್ತು while ಬ್ಲಾಕ್‌ಗಳಲ್ಲಿ ಬಳಸಲು ಸೂಕ್ತವಾದ ಯಾವುದೇ ಅಭಿವ್ಯಕ್ತಿಯನ್ನು ಈಗ ಅಲಂಕಾರಕಾರಕವಾಗಿ ಬಳಸಬಹುದು. ಈ ಬದಲಾವಣೆಯು PyQt5 ಕೋಡ್‌ನ ಓದುವಿಕೆಯನ್ನು ಗಮನಾರ್ಹವಾಗಿ ಸುಧಾರಿಸಿದೆ ಮತ್ತು ಈ ಮಾಡ್ಯೂಲ್‌ನ ನಿರ್ವಹಣೆಯನ್ನು ಸರಳಗೊಳಿಸಿದೆ:

    ಅದು:
    button_0 = buttons[0] @button_0.clicked.connect

    ಈಗ ನೀವು ಬರೆಯಬಹುದು:
    @buttons[0].clicked.connect

  • ಪ್ರಮಾಣಿತ ಗ್ರಂಥಾಲಯಕ್ಕೆ ಸೇರಿಸಲಾಗಿದೆ ಮಾಡ್ಯೂಲ್ ವಲಯ ಮಾಹಿತಿ, ಇದು IANA ಸಮಯ ವಲಯ ಡೇಟಾಬೇಸ್‌ನಿಂದ ಮಾಹಿತಿಯನ್ನು ಒಳಗೊಂಡಿದೆ.

    >>> zoneinfo ನಿಂದ ZoneInfo ಆಮದು ಮಾಡಿಕೊಳ್ಳಿ
    >>>> ಡೇಟ್‌ಟೈಮ್‌ನಿಂದ ಡೇಟ್‌ಟೈಮ್ ಆಮದು, ಟೈಮ್‌ಡೆಲ್ಟಾ
    >>> # ಬೇಸಿಗೆಯ ಸಮಯ
    >>> dt = ದಿನಾಂಕಸಮಯ(2020, 10, 31, 12, tzinfo=ZoneInfo("ಅಮೆರಿಕಾ/ಲಾಸ್_ಏಂಜಲೀಸ್"))
    >>> ಪ್ರಿಂಟ್(ಡಿಟಿ)
    2020-10-31 12:00:00-07:00

    >>> dt.tzname()
    'ಪಿಡಿಟಿ'

    >>> # ಪ್ರಮಾಣಿತ ಸಮಯ
    >>> dt += ಟೈಮ್‌ಡೆಲ್ಟಾ(ದಿನಗಳು=7)
    >>> ಪ್ರಿಂಟ್(ಡಿಟಿ)
    2020-11-07 12:00:00-08:00

    >>> ಪ್ರಿಂಟ್(dt.tzname())
    PST

  • ಗ್ರಾಫ್‌ಲಿಬ್ ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ, ಅದು ಅಳವಡಿಸಲಾಗಿದೆ ಗ್ರಾಫ್‌ಗಳ ಸ್ಥಳಶಾಸ್ತ್ರೀಯ ವಿಂಗಡಣೆಗೆ ಬೆಂಬಲ.
  • ಪ್ರಸ್ತಾಪಿಸಲಾಗಿದೆ ಪೂರ್ವಪ್ರತ್ಯಯಗಳು ಮತ್ತು ಸಾಲಿನ ಅಂತ್ಯಗಳನ್ನು ತೆಗೆದುಹಾಕಲು ಹೊಸ ವಿಧಾನಗಳು - str.removeprefix(prefix) ಮತ್ತು str.removesuffix(suffix). str, bytes, bytearray ಮತ್ತು collections.UserString ಆಬ್ಜೆಕ್ಟ್‌ಗಳಿಗೆ ವಿಧಾನಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ.

    >>> s = "ಫೂಬಾರ್"
    >>> s.removeprefix(«ಫೂ»)
    'ಬಾರ್'

  • ತೊಡಗಿಸಿಕೊಂಡಿದೆ ಹೊಸ ಪಾರ್ಸರ್ ಪಿಇಜಿ (ಪಾರ್ಸಿಂಗ್ ಎಕ್ಸ್‌ಪ್ರೆಶನ್ ವ್ಯಾಕರಣ), ಇದು ಪಾರ್ಸರ್ ಅನ್ನು ಬದಲಾಯಿಸಿತು ಎಲ್ಎಲ್(1). ಹೊಸ ಪಾರ್ಸರ್‌ನ ಬಳಕೆಯು LL(1) ಮಿತಿಗಳನ್ನು ಬೈಪಾಸ್ ಮಾಡಲು ಬಳಸಲಾಗುವ ಕೆಲವು "ಹ್ಯಾಕ್‌ಗಳನ್ನು" ತೆಗೆದುಹಾಕಿದೆ ಮತ್ತು ಪಾರ್ಸರ್ ಅನ್ನು ನಿರ್ವಹಿಸಲು ಅಗತ್ಯವಿರುವ ಪ್ರಯತ್ನವನ್ನು ಗಮನಾರ್ಹವಾಗಿ ಕಡಿಮೆ ಮಾಡಿದೆ. ಕಾರ್ಯಕ್ಷಮತೆಯ ವಿಷಯದಲ್ಲಿ, ಹೊಸ ಪಾರ್ಸರ್ ಹಳೆಯದಕ್ಕೆ ಸರಿಸುಮಾರು ಸಮಾನವಾಗಿದೆ, ಆದರೆ ಗಮನಾರ್ಹವಾಗಿ ಹೆಚ್ಚು ಹೊಂದಿಕೊಳ್ಳುವಂತಿದ್ದು, ಹೊಸ ಭಾಷಾ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ವಿನ್ಯಾಸಗೊಳಿಸುವಲ್ಲಿ ಹೆಚ್ಚಿನ ಸ್ವಾತಂತ್ರ್ಯವನ್ನು ನೀಡುತ್ತದೆ. ಹಳೆಯ ಪಾರ್ಸರ್ ಕೋಡ್ ಅನ್ನು ಇನ್ನೂ ಸಂರಕ್ಷಿಸಲಾಗಿದೆ ಮತ್ತು "-X ಹಳೆಯ ಪಾರ್ಸರ್" ಫ್ಲ್ಯಾಗ್ ಅಥವಾ "PYTHONOLDPARSER=1" ಪರಿಸರ ವೇರಿಯಬಲ್ ಬಳಸಿ ಹಿಂತಿರುಗಿಸಬಹುದು, ಆದರೆ ಬಿಡುಗಡೆ 3.10 ರಲ್ಲಿ ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ.
  • ಒದಗಿಸಲಾಗಿದೆ PyState_FindModule ಕಾರ್ಯವನ್ನು ಬಳಸಿಕೊಂಡು ಮಾಡ್ಯೂಲ್‌ನ ಸ್ಥಿತಿಯನ್ನು ಹುಡುಕುವ ಬದಲು ಪಾಯಿಂಟರ್‌ಗಳ ನೇರ ಡಿರೆಫರೆನ್ಸಿಂಗ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು, C ವಿಸ್ತರಣಾ ವಿಧಾನಗಳು ಅವುಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ಮಾಡ್ಯೂಲ್‌ಗಳ ಸ್ಥಿತಿಯನ್ನು ಪ್ರವೇಶಿಸುವ ಸಾಮರ್ಥ್ಯ. ಈ ಬದಲಾವಣೆಯು ಮಾಡ್ಯೂಲ್‌ನ ಸ್ಥಿತಿಯನ್ನು ಪರಿಶೀಲಿಸುವ ಓವರ್‌ಹೆಡ್ ಅನ್ನು ಕಡಿಮೆ ಮಾಡುವ ಮೂಲಕ ಅಥವಾ ಸಂಪೂರ್ಣವಾಗಿ ತೆಗೆದುಹಾಕುವ ಮೂಲಕ C ಮಾಡ್ಯೂಲ್‌ಗಳ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಹೆಚ್ಚಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. PyType_FromModuleAndSpec() C ಕಾರ್ಯವನ್ನು ಮಾಡ್ಯೂಲ್ ಅನ್ನು ವರ್ಗದೊಂದಿಗೆ ಸಂಯೋಜಿಸಲು ಪ್ರಸ್ತಾಪಿಸಲಾಗಿದೆ, PyType_GetModule() ಮತ್ತು PyType_GetModuleState() C ಕಾರ್ಯಗಳನ್ನು ಮಾಡ್ಯೂಲ್ ಮತ್ತು ಅದರ ಸ್ಥಿತಿಯನ್ನು ಪಡೆಯಲು ಬಳಸಲಾಗುತ್ತದೆ ಮತ್ತು PyCMethod C ಕಾರ್ಯ ಮತ್ತು METH_METHOD ಫ್ಲ್ಯಾಗ್ ಅನ್ನು ಅದನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ವರ್ಗಕ್ಕೆ ಪ್ರವೇಶದೊಂದಿಗೆ ವಿಧಾನವನ್ನು ಒದಗಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ.
  • ಕಸ ಸಂಗ್ರಾಹಕ ವಿತರಿಸಲಾಯಿತು ಫೈನಲೈಜರ್ ರನ್ ಆದ ನಂತರ ಹೊರಗಿನಿಂದ ಪ್ರವೇಶಿಸಬಹುದಾದ ಪುನರುಜ್ಜೀವನಗೊಂಡ ವಸ್ತುಗಳನ್ನು ಒಳಗೊಂಡಿರುವ ಸಂಗ್ರಹಗಳನ್ನು ನಿರ್ಬಂಧಿಸುವುದರಿಂದ.
  • ವಿಧಾನವನ್ನು ಸೇರಿಸಲಾಗಿದೆ os.pidfd_open, ಇದು PID ಮರುಬಳಕೆಯ ಪರಿಸ್ಥಿತಿಯನ್ನು ನಿರ್ವಹಿಸಲು Linux ಕರ್ನಲ್ ಉಪವ್ಯವಸ್ಥೆ "pidfd" ಅನ್ನು ಬಳಸಲು ಅನುಮತಿಸುತ್ತದೆ (pidfd ಒಂದು ನಿರ್ದಿಷ್ಟ ಪ್ರಕ್ರಿಯೆಯೊಂದಿಗೆ ಸಂಬಂಧಿಸಿದೆ ಮತ್ತು ಬದಲಾಗುವುದಿಲ್ಲ, ಆದರೆ ಆ PID ಗೆ ಸಂಬಂಧಿಸಿದ ಪ್ರಸ್ತುತ ಪ್ರಕ್ರಿಯೆಯು ಕೊನೆಗೊಂಡ ನಂತರ PID ಅನ್ನು ಮತ್ತೊಂದು ಪ್ರಕ್ರಿಯೆಗೆ ನಿಯೋಜಿಸಬಹುದು).
  • ಯುನಿಕೋಡ್ ವಿವರಣೆಗೆ ಬೆಂಬಲವನ್ನು ಆವೃತ್ತಿ 13.0.0 ಗೆ ನವೀಕರಿಸಲಾಗಿದೆ.
  • ನಿವಾರಿಸಲಾಗಿದೆ ಮೆಮೊರಿ ಸೋರಿಕೆ ಒಂದು ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಪೈಥಾನ್ ಇಂಟರ್ಪ್ರಿಟರ್ ಅನ್ನು ಪುನಃ ಪ್ರಾರಂಭಿಸುವಾಗ.
  • ಅಂತರ್ನಿರ್ಮಿತ ಪ್ರಕಾರಗಳ ಶ್ರೇಣಿ, ಟುಪಲ್, ಸೆಟ್, ಫ್ರೋಜನ್‌ಸೆಟ್, ಪಟ್ಟಿ ಮತ್ತು ಡಿಕ್ಟ್‌ಗೆ ಕಾರ್ಯಕ್ಷಮತೆಯ ಆಪ್ಟಿಮೈಸೇಶನ್‌ಗಳನ್ನು ಮಾಡಲಾಗಿದೆ, ಅರಿತುಕೊಂಡ C ನಲ್ಲಿ ಬರೆಯಲಾದ ವಸ್ತುಗಳಿಗೆ ವೇಗವಾದ ಪ್ರವೇಶಕ್ಕಾಗಿ ವೆಕ್ಟರ್‌ಕಾಲ್ ಪ್ರೋಟೋಕಾಲ್ ಬಳಸುವ ಮೂಲಕ.
  • _abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resource, time ಮತ್ತು _weakref ಮಾಡ್ಯೂಲ್‌ಗಳನ್ನು ಲೋಡ್ ಮಾಡಲು ಸರಿಸಲಾಗಿದೆ. ಹಲವಾರು ಹಂತಗಳಲ್ಲಿ ಪ್ರಾರಂಭ.
  • ಪ್ರಮಾಣಿತ ಗ್ರಂಥಾಲಯ ಮಾಡ್ಯೂಲ್‌ಗಳಾದ ಆಡಿಯೋಆಪ್, ಆಸ್ಟ್, ಜಿಆರ್‌ಪಿ, _ಹ್ಯಾಶ್‌ಲಿಬ್, ಪಿಡಬ್ಲ್ಯೂಡಿ, _ಪೋಸಿಕ್ಸ್‌ಸಬ್‌ಪ್ರೋಸೆಸ್, ರ್ಯಾಂಡಮ್, ಸೆಲೆಕ್ಟ್, ಸ್ಟ್ರಕ್ಟ್, ಟರ್ಮಿಯೋಸ್ ಮತ್ತು ಝ್ಲಿಬ್‌ಗಳನ್ನು ನಿರ್ಬಂಧಿತ ಸ್ಥಿರ ABI, ಇದು ವಿಭಿನ್ನ ಪೈಥಾನ್ ಆವೃತ್ತಿಗಳಿಗೆ ವಿಸ್ತರಣಾ ಮಾಡ್ಯೂಲ್ ಅಸೆಂಬ್ಲಿಗಳ ಕ್ರಿಯಾತ್ಮಕತೆಯ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸುತ್ತದೆ (ಆವೃತ್ತಿಯನ್ನು ನವೀಕರಿಸುವಾಗ, ವಿಸ್ತರಣಾ ಮಾಡ್ಯೂಲ್‌ಗಳನ್ನು ಪುನರ್ನಿರ್ಮಿಸುವ ಅಗತ್ಯವಿಲ್ಲ, ಮತ್ತು 3.9 ಗಾಗಿ ನಿರ್ಮಿಸಲಾದ ಮಾಡ್ಯೂಲ್‌ಗಳು 3.10 ಶಾಖೆಯಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ).
  • ಸಂಭಾವ್ಯ ಭದ್ರತಾ ಸಮಸ್ಯೆಗಳಿಂದಾಗಿ ಅಸಿಂಕ್ಸಿಯೋ ಮಾಡ್ಯೂಲ್ reuse_address ಪ್ಯಾರಾಮೀಟರ್‌ಗೆ ಬೆಂಬಲವನ್ನು ಕೈಬಿಟ್ಟಿದೆ (ಲಿನಕ್ಸ್‌ನಲ್ಲಿ UDP ಗಾಗಿ SO_REUSEADDR ಅನ್ನು ಬಳಸುವುದರಿಂದ ವಿಭಿನ್ನ ಪ್ರಕ್ರಿಯೆಗಳು UDP ಪೋರ್ಟ್‌ಗೆ ಆಲಿಸುವ ಸಾಕೆಟ್‌ಗಳನ್ನು ಲಗತ್ತಿಸಲು ಅನುಮತಿಸುತ್ತದೆ).
  • ಮಲ್ಟಿಥ್ರೆಡ್ ಮಾಡಿದ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಲ್ಲಿ ಸಿಗ್ನಲ್ ಹ್ಯಾಂಡ್ಲರ್‌ಗಳ ಸುಧಾರಿತ ಕಾರ್ಯಕ್ಷಮತೆ, ಫ್ರೀಬಿಎಸ್‌ಡಿ ಪರಿಸರದಲ್ಲಿ ಸಬ್‌ಪ್ರೋಸೆಸ್ ಮಾಡ್ಯೂಲ್‌ನ ಸುಧಾರಿತ ಕಾರ್ಯಕ್ಷಮತೆ ಮತ್ತು ತಾತ್ಕಾಲಿಕ ವೇರಿಯೇಬಲ್‌ಗಳ ವೇಗದ ನಿಯೋಜನೆ ("for y in [expr]" ಎಂಬ ಅಭಿವ್ಯಕ್ತಿಯಲ್ಲಿ ವೇರಿಯೇಬಲ್ ಅನ್ನು ನಿಯೋಜಿಸುವುದು ಈಗ "y = expr" ಎಂಬ ಅಭಿವ್ಯಕ್ತಿಯಷ್ಟೇ ವೇಗವಾಗಿದೆ) ನಂತಹ ಹೊಸ ಆಪ್ಟಿಮೈಸೇಶನ್‌ಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ. ಸಾಮಾನ್ಯವಾಗಿ, ಹೆಚ್ಚಿನ ಪರೀಕ್ಷೆಗಳು ಪ್ರದರ್ಶನ ಶಾಖೆ 3.8 ಕ್ಕೆ ಹೋಲಿಸಿದರೆ ಕಾರ್ಯಕ್ಷಮತೆಯ ಕಡಿತ (ವೇಗವರ್ಧನೆಯನ್ನು write_local ಮತ್ತು write_deque ಪರೀಕ್ಷೆಗಳಲ್ಲಿ ಮಾತ್ರ ಗಮನಿಸಬಹುದು):

    ಪೈಥಾನ್ ಆವೃತ್ತಿ 3.4 3.5 3.6 3.7 3.8 3.9
    ————— — — — — —

    ವೇರಿಯೇಬಲ್ ಮತ್ತು ಗುಣಲಕ್ಷಣ ಓದಲು ಪ್ರವೇಶ:
    ರೀಡ್_ಲೋಕಲ್ 7.1 7.1 5.4 5.1 3.9 4.0
    ಸ್ಥಳೀಯವಲ್ಲದ_ಓದಿರಿ 7.1 8.1 5.8 5.4 4.4 4.8
    read_global 15.5 19.0 14.3 13.6 7.6 7.7
    ರೀಡ್_ಬಿಲ್ಟಿನ್ 21.1 21.6 18.5 19.0 7.5 7.7
    ವರ್ಗ_ವರ್_ವರ್ಗ_ವರ್ಗ 25.6 26.5 20.7 19.5 18.4 18.6 ರಿಂದ ಓದಿ
    read_classvar_from_instance 22.8 23.5 18.8 17.1 16.4 20.1
    ಓದು_ಇನ್‌ಸ್ಟಾನ್ಸ್‌ವರ್ 32.4 33.1 28.0 26.3 25.4 27.7
    ಓದು_ಇನ್‌ಸ್ಟಾನ್ಸ್‌ವರ್_ಸ್ಲಾಟ್‌ಗಳು 27.8 31.3 20.8 20.8 20.2 24.5
    ಓದಿ_ಹೆಸರು ಮಾಡಲಾಗಿದೆಟಪಲ್ 73.8 57.5 45.0 46.8 18.4 23.2
    ಓದು_ಬೌಂಡ್ ವಿಧಾನ 37.6 37.9 29.6 26.9 27.7 45.9

    ವೇರಿಯೇಬಲ್ ಮತ್ತು ಗುಣಲಕ್ಷಣ ಬರೆಯುವ ಪ್ರವೇಶ:
    ರೈಟ್_ಲೋಕಲ್ 8.7 9.3 5.5 5.3 4.3 4.2
    ರೈಟ್_ನಾನ್‌ಲೋಕಲ್ 10.5 11.1 5.6 5.5 4.7 4.9
    write_global 19.7 21.2 18.0 18.0 15.8 17.2
    write_classvar 92.9 96.0 104.6 102.1 39.2 43.2
    write_instancevar 44.6 45.8 40.0 38.9 35.5 40.7
    write_instancevar_slots 35.6 36.1 27.3 26.6 25.7 27.7

    ಡೇಟಾ ರಚನೆ ಓದುವ ಪ್ರವೇಶ:
    ಓದು_ಪಟ್ಟಿ 24.2 24.5 20.8 20.8 19.0 21.1
    read_deque 24.7 25.5 20.2 20.6 19.8 21.6
    ಓದು_ಆದೇಶ 24.3 25.7 22.3 23.0 21.0 22.5
    read_strdict 22.6 24.3 19.5 21.2 18.9 21.6

    ಡೇಟಾ ರಚನೆ ಬರೆಯುವ ಪ್ರವೇಶ:
    ಬರೆಯಿರಿ_ಪಟ್ಟಿ 27.1 28.5 22.5 21.6 20.0 21.6
    ರೈಟ್_ಡಿಕ್ಯು 28.7 30.1 22.7 21.8 23.5 23.2
    ಬರೆಯಿರಿ_ನಿರ್ದೇಶನ 31.4 33.3 29.3 29.2 24.7 27.8
    write_strdict 28.4 29.9 27.5 25.2 23.1 29.8

    ಸ್ಟ್ಯಾಕ್ (ಅಥವಾ ಕ್ಯೂ) ಕಾರ್ಯಾಚರಣೆಗಳು:
    ಪಟ್ಟಿ_ಅನುಬಂಧ_ಪಾಪ್ 93.4 112.7 75.4 74.2 50.8 53.9
    deque_append_pop 43.5 57.0 49.4 49.2 42.5 45.5
    deque_append_popleft 43.7 57.3 49.7 49.7 42.8 45.5

    ಟೈಮಿಂಗ್ ಲೂಪ್:
    ಲೂಪ್_ಓವರ್ಹೆಡ್ 0.5 0.6 0.4 0.3 0.3 0.3

  • ತೆಗೆದುಹಾಕಲಾಗಿದೆ html.parser.HTMLParser ನಲ್ಲಿ unescape() ವಿಧಾನವನ್ನು ಒಳಗೊಂಡಂತೆ, ಹಿಂದಿನ ಬಿಡುಗಡೆಯಲ್ಲಿ ಅಸಮ್ಮತಿ ಎಚ್ಚರಿಕೆಗೆ ಕಾರಣವಾಗುತ್ತಿದ್ದ ಹಲವು ಪೈಥಾನ್ 2.7 ಕಾರ್ಯಗಳು ಮತ್ತು ವಿಧಾನಗಳು,
    array.array ನಲ್ಲಿ tostring() ಮತ್ತು fromstring(), threading.Thread ನಲ್ಲಿ isAlive(), ElementTree ನಲ್ಲಿ getchildren() ಮತ್ತು getiterator(), sys.getcheckinterval(), sys.setcheckinterval(), asyncio.Task.current_task(), asyncio.Task.all_tasks(), base64.encodestring() ಮತ್ತು base64.decodestring().

ಮೂಲ: opennet.ru