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

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

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

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

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

    >>> x = {"key1": "x ನಿಂದ ಮೌಲ್ಯ1", "key2": "value2 from x"}
    >>> y = {"key2": "value2 from y", "key3": "value3 from y"}

    >>> x | ವೈ
    {'key1': 'x ನಿಂದ ಮೌಲ್ಯ1', 'key2': 'value2 from y', 'key3': 'value3 from y'}

    >>> ವೈ | X
    {'key2': 'x ನಿಂದ ಮೌಲ್ಯ2', 'key3': 'value3 from y', 'key1': 'value1 from x'}

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

    ಡೆಫ್ ಗ್ರೀಟ್_ಆಲ್(ಹೆಸರುಗಳು: ಪಟ್ಟಿ[str]) -> ಯಾವುದೂ ಇಲ್ಲ:
    ಹೆಸರುಗಳಲ್ಲಿ ಹೆಸರುಗಳಿಗಾಗಿ:
    ಮುದ್ರಣ ("ಹಲೋ", ಹೆಸರು)

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

    charType = Annotated[int, ctype("char")] UnsignedShort = Annotated[int, struct2.ctype('H')]

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

    ಅದು:
    button_0 = ಬಟನ್‌ಗಳು[0] @button_0.clicked.connect

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

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

    >>> Zoneinfo ಆಮದು ZoneInfo ನಿಂದ
    >>> ಡೇಟ್‌ಟೈಮ್ ಇಂಪೋರ್ಟ್ ಡೇಟ್‌ಟೈಮ್, ಟೈಮ್‌ಡೆಲ್ಟಾ
    >>> # ಬೇಸಿಗೆಯ ಸಮಯ
    >>> dt = ದಿನಾಂಕದ ಸಮಯ(2020, 10, 31, 12, tzinfo=ZoneInfo("America/Los_Angeles"))
    >>> ಮುದ್ರಣ (ಡಿಟಿ)
    2020-10-31 12:00:00-07:00

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

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

    >>> ಮುದ್ರಣ(dt.tzname())
    PST

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

    >>> s = "FooBar"
    >>> s.removprefix("Foo")
    'ಬಾರ್'

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

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

    ವೇರಿಯೇಬಲ್ ಮತ್ತು ಗುಣಲಕ್ಷಣ ಓದುವ ಪ್ರವೇಶ:
    read_local 7.1 7.1 5.4 5.1 3.9 4.0
    read_nonlocal 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
    read_builtin 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
    read_instancevar 32.4 33.1 28.0 26.3 25.4 27.7
    read_instancevar_slots 27.8 31.3 20.8 20.8 20.2 24.5
    read_namedtuple 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
    ರೈಟ್_ಗ್ಲೋಬಲ್ 19.7 21.2 18.0 18.0 15.8 17.2
    ರೈಟ್_ಕ್ಲಾಸ್ವರ್ 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
    ರೈಟ್_ಇನ್ಸ್ಟನ್ಸ್ವರ್_ಸ್ಲಾಟ್‌ಗಳು 35.6 36.1 27.3 26.6 25.7 27.7

    ಡೇಟಾ ರಚನೆ ಓದಲು ಪ್ರವೇಶ:
    read_list 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
    read_dict 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
    ರೈಟ್_ಸ್ಟ್ರಿಕ್ಟ್ 28.4 29.9 27.5 25.2 23.1 29.8

    ಸ್ಟಾಕ್ (ಅಥವಾ ಕ್ಯೂ) ಕಾರ್ಯಾಚರಣೆಗಳು:
    list_append_pop 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

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

ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ