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

ಅಭಿವೃದ್ಧಿಯ ಒಂದೂವರೆ ವರ್ಷದ ನಂತರ ಪ್ರಸ್ತುತಪಡಿಸಲಾಗಿದೆ ಪ್ರಮುಖ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯ ಬಿಡುಗಡೆ ಪೈಥಾನ್ 3.8. ಪೈಥಾನ್ 3.8 ಶಾಖೆಗೆ ಸರಿಪಡಿಸುವ ನವೀಕರಣಗಳು ಯೋಜಿಸಲಾಗಿದೆ 18 ತಿಂಗಳೊಳಗೆ ಬಿಡುಗಡೆ. ನಿರ್ಣಾಯಕ ದೋಷಗಳನ್ನು ಅಕ್ಟೋಬರ್ 5 ರವರೆಗೆ 2024 ವರ್ಷಗಳವರೆಗೆ ನಿಗದಿಪಡಿಸಲಾಗುತ್ತದೆ. 3.8 ಶಾಖೆಯ ಸರಿಪಡಿಸುವ ನವೀಕರಣಗಳನ್ನು ಪ್ರತಿ ಎರಡು ತಿಂಗಳಿಗೊಮ್ಮೆ ಬಿಡುಗಡೆ ಮಾಡಲಾಗುತ್ತದೆ, ಪೈಥಾನ್ 3.8.1 ರ ಮೊದಲ ಸರಿಪಡಿಸುವ ಬಿಡುಗಡೆಯನ್ನು ಡಿಸೆಂಬರ್‌ನಲ್ಲಿ ನಿಗದಿಪಡಿಸಲಾಗಿದೆ.

ಸೇರಿಸಿದವರಲ್ಲಿ ನಾವೀನ್ಯತೆಗಳು:

  • ಬೆಂಬಲ ಸಂಕೀರ್ಣ ಅಭಿವ್ಯಕ್ತಿಗಳಲ್ಲಿ ನಿಯೋಜನೆ ಕಾರ್ಯಾಚರಣೆಗಳು. ಹೊಸ “:=” ಆಪರೇಟರ್‌ನೊಂದಿಗೆ, ಇತರ ಅಭಿವ್ಯಕ್ತಿಗಳ ಒಳಗೆ ಮೌಲ್ಯ ನಿಯೋಜನೆ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಸಾಧ್ಯವಿದೆ, ಉದಾಹರಣೆಗೆ, ಷರತ್ತುಬದ್ಧ ಹೇಳಿಕೆಗಳಲ್ಲಿ ಡಬಲ್ ಫಂಕ್ಷನ್ ಕರೆಗಳನ್ನು ತಪ್ಪಿಸಲು ಮತ್ತು ಲೂಪ್‌ಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುವಾಗ:

    ವೇಳೆ (n:= len(a)) > 10:
    ...

    ಹಾಗೆಯೇ (ಬ್ಲಾಕ್ := f.read(256)) != ":
    ...

  • ಬೆಂಬಲ ಫಂಕ್ಷನ್ ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಲು ಹೊಸ ಸಿಂಟ್ಯಾಕ್ಸ್. ಫಂಕ್ಷನ್ ವ್ಯಾಖ್ಯಾನದ ಸಮಯದಲ್ಲಿ ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳನ್ನು ಎಣಿಸುವಾಗ, ನೀವು ಈಗ "/" ಅನ್ನು ಪ್ರತ್ಯೇಕ ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳಿಗೆ ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು, ಅದು ಕಾರ್ಯದ ಕರೆಯ ಸಮಯದಲ್ಲಿ ಮೌಲ್ಯಗಳನ್ನು ಎಣಿಸುವ ಕ್ರಮವನ್ನು ಆಧರಿಸಿ, ನಿಯೋಜಿಸಬಹುದಾದ ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳಿಂದ ಮೌಲ್ಯಗಳನ್ನು ಮಾತ್ರ ನಿಗದಿಪಡಿಸಬಹುದು. ಯಾವುದೇ ಕ್ರಮದಲ್ಲಿ (ವೇರಿಯಬಲ್=ಮೌಲ್ಯ ಸಿಂಟ್ಯಾಕ್ಸ್) ). ಪ್ರಾಯೋಗಿಕ ಭಾಗದಲ್ಲಿ, ಹೊಸ ವೈಶಿಷ್ಟ್ಯವು ಪೈಥಾನ್‌ನಲ್ಲಿನ ಕಾರ್ಯಗಳನ್ನು ಸಿ ಯಲ್ಲಿ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಕಾರ್ಯಗಳ ನಡವಳಿಕೆಯನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಅನುಕರಿಸಲು ಅನುಮತಿಸುತ್ತದೆ, ಮತ್ತು ನಿರ್ದಿಷ್ಟ ಹೆಸರುಗಳಿಗೆ ಬಂಧಿಸುವುದನ್ನು ತಪ್ಪಿಸುತ್ತದೆ, ಉದಾಹರಣೆಗೆ, ಪ್ಯಾರಾಮೀಟರ್ ಹೆಸರನ್ನು ಭವಿಷ್ಯದಲ್ಲಿ ಬದಲಾಯಿಸಲು ಯೋಜಿಸಿದ್ದರೆ.

    "/" ಫ್ಲ್ಯಾಗ್ ಈ ಹಿಂದೆ ಸೇರಿಸಲಾದ "*" ಫ್ಲ್ಯಾಗ್‌ಗೆ ಪೂರಕವಾಗಿದೆ, ವೇರಿಯೇಬಲ್‌ಗಳನ್ನು ಪ್ರತ್ಯೇಕಿಸುತ್ತದೆ, ಇದಕ್ಕಾಗಿ "ವೇರಿಯಬಲ್=ಮೌಲ್ಯ" ರೂಪದಲ್ಲಿ ಮಾತ್ರ ನಿಯೋಜನೆ ಅನ್ವಯಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, "def f(a, b, /, c, d, *, e, f):" ಕಾರ್ಯದಲ್ಲಿ "a" ಮತ್ತು "b" ವೇರಿಯೇಬಲ್‌ಗಳನ್ನು ಮೌಲ್ಯಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಲಾದ ಕ್ರಮದಲ್ಲಿ ಮಾತ್ರ ನಿಯೋಜಿಸಬಹುದು ,
    ವೇರಿಯೇಬಲ್‌ಗಳು “e” ಮತ್ತು “f”, “ವೇರಿಯೇಬಲ್=ಮೌಲ್ಯ” ನಿಯೋಜನೆಯ ಮೂಲಕ ಮಾತ್ರ, ಮತ್ತು ಕೆಳಗಿನ ಯಾವುದೇ ರೀತಿಯಲ್ಲಿ “c” ಮತ್ತು “d” ವೇರಿಯಬಲ್‌ಗಳು:

    f(10, 20, 30, 40, e=50, f=60)
    f(10, 20, s=30, d=40, e=50, f=60)

  • ಸೇರಿಸಲಾಗಿದೆ ಹೊಸ C API
    ಪೈಥಾನ್ ಇನಿಶಿಯಲೈಸೇಶನ್ ಪ್ಯಾರಾಮೀಟರ್‌ಗಳನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲು, ಎಲ್ಲದರ ಮೇಲೆ ಸಂಪೂರ್ಣ ನಿಯಂತ್ರಣವನ್ನು ಅನುಮತಿಸುತ್ತದೆ ಸಂರಚನೆ ಮತ್ತು ಸುಧಾರಿತ ದೋಷ ನಿರ್ವಹಣೆ ಸೌಲಭ್ಯಗಳನ್ನು ಒದಗಿಸುವುದು. ಪ್ರಸ್ತಾವಿತ API ಇತರ C ಅಪ್ಲಿಕೇಶನ್‌ಗಳಲ್ಲಿ ಪೈಥಾನ್ ಇಂಟರ್ಪ್ರಿಟರ್ ಕಾರ್ಯವನ್ನು ಎಂಬೆಡ್ ಮಾಡಲು ಸುಲಭಗೊಳಿಸುತ್ತದೆ;

  • ಅಳವಡಿಸಲಾಗಿದೆ ಸಿ ಭಾಷೆಯಲ್ಲಿ ಬರೆಯಲಾದ ವಸ್ತುಗಳಿಗೆ ತ್ವರಿತ ಪ್ರವೇಶಕ್ಕಾಗಿ ಹೊಸ ವೆಕ್ಟರ್‌ಕಾಲ್ ಪ್ರೋಟೋಕಾಲ್. CPython 3.8 ರಲ್ಲಿ, Vectorcall ಗೆ ಪ್ರವೇಶವು ಇನ್ನೂ ಆಂತರಿಕ ಬಳಕೆಗೆ ಸೀಮಿತವಾಗಿದೆ; ಸಾರ್ವಜನಿಕವಾಗಿ ಪ್ರವೇಶಿಸಬಹುದಾದ API ಗಳ ವರ್ಗಕ್ಕೆ ವರ್ಗಾವಣೆಯನ್ನು CPython 3.9 ರಲ್ಲಿ ಯೋಜಿಸಲಾಗಿದೆ;
  • ಸೇರಿಸಲಾಗಿದೆ ರನ್‌ಟೈಮ್ ಆಡಿಟ್ ಹುಕ್ಸ್‌ಗೆ ಕರೆಗಳು, ಇದು ಪೈಥಾನ್‌ನಲ್ಲಿನ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಮತ್ತು ಫ್ರೇಮ್‌ವರ್ಕ್‌ಗಳನ್ನು ಒದಗಿಸುವ ಕ್ರಿಯೆಗಳನ್ನು ಆಡಿಟ್ ಮಾಡಲು ಸ್ಕ್ರಿಪ್ಟ್‌ನ ಪ್ರಗತಿಯ ಬಗ್ಗೆ ಕಡಿಮೆ-ಮಟ್ಟದ ಮಾಹಿತಿಗೆ ಪ್ರವೇಶವನ್ನು ಒದಗಿಸುತ್ತದೆ (ಉದಾಹರಣೆಗೆ, ನೀವು ಮಾಡ್ಯೂಲ್‌ಗಳ ಆಮದು, ಫೈಲ್‌ಗಳನ್ನು ತೆರೆಯುವುದು, ಟ್ರೇಸ್ ಬಳಸಿ ಟ್ರ್ಯಾಕ್ ಮಾಡಬಹುದು, ನೆಟ್‌ವರ್ಕ್ ಸಾಕೆಟ್‌ಗಳನ್ನು ಪ್ರವೇಶಿಸುವುದು, ಎಕ್ಸಿಕ್, ಇವಾಲ್ ಮತ್ತು ರನ್_ಮೋಡ್ ಮೂಲಕ ಕೋಡ್ ಅನ್ನು ಚಾಲನೆ ಮಾಡುವುದು);
  • ಮಾಡ್ಯೂಲ್ನಲ್ಲಿ ಉಪ್ಪಿನಕಾಯಿ ಭದ್ರಪಡಿಸಲಾಗಿದೆ ಪಿಕಲ್ 5 ಪ್ರೋಟೋಕಾಲ್‌ಗೆ ಬೆಂಬಲ, ಆಬ್ಜೆಕ್ಟ್‌ಗಳನ್ನು ಧಾರಾವಾಹಿ ಮಾಡಲು ಮತ್ತು ಡಿಸೈಲೈಸಿಂಗ್ ಮಾಡಲು ಬಳಸಲಾಗುತ್ತದೆ. ಮೆಮೊರಿ ನಕಲು ಕಾರ್ಯಾಚರಣೆಗಳ ಸಂಖ್ಯೆಯನ್ನು ಕಡಿಮೆ ಮಾಡುವ ಮೂಲಕ ಮತ್ತು ಡೇಟಾ-ನಿರ್ದಿಷ್ಟ ಸಂಕುಚಿತ ಅಲ್ಗಾರಿದಮ್‌ಗಳನ್ನು ಬಳಸುವಂತಹ ಹೆಚ್ಚುವರಿ ಆಪ್ಟಿಮೈಸೇಶನ್ ತಂತ್ರಗಳನ್ನು ಅನ್ವಯಿಸುವ ಮೂಲಕ ಬಹು-ಕೋರ್ ಮತ್ತು ಮಲ್ಟಿ-ನೋಡ್ ಕಾನ್ಫಿಗರೇಶನ್‌ಗಳಲ್ಲಿ ಪೈಥಾನ್ ಪ್ರಕ್ರಿಯೆಗಳ ನಡುವೆ ಹೆಚ್ಚಿನ ಪ್ರಮಾಣದ ಡೇಟಾದ ವರ್ಗಾವಣೆಯನ್ನು ಆಪ್ಟಿಮೈಸ್ ಮಾಡಲು ಉಪ್ಪಿನಕಾಯಿ ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಪ್ರೋಟೋಕಾಲ್‌ನ ಐದನೇ ಆವೃತ್ತಿಯು ಔಟ್-ಆಫ್-ಬ್ಯಾಂಡ್ ಟ್ರಾನ್ಸ್‌ಮಿಷನ್ ಮೋಡ್‌ನ ಸೇರ್ಪಡೆಗೆ ಗಮನಾರ್ಹವಾಗಿದೆ, ಇದರಲ್ಲಿ ಮುಖ್ಯ ಉಪ್ಪಿನಕಾಯಿ ಸ್ಟ್ರೀಮ್‌ನಿಂದ ಡೇಟಾವನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ರವಾನಿಸಬಹುದು.
  • ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, ಪಿಕಲ್ ಪ್ರೋಟೋಕಾಲ್‌ನ ನಾಲ್ಕನೇ ಆವೃತ್ತಿಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ, ಇದು ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಈ ಹಿಂದೆ ನೀಡಲಾದ ಮೂರನೇ ಆವೃತ್ತಿಗೆ ಹೋಲಿಸಿದರೆ, ಹೆಚ್ಚಿನ ಕಾರ್ಯಕ್ಷಮತೆ ಮತ್ತು ರವಾನೆಯಾದ ಡೇಟಾದ ಗಾತ್ರದಲ್ಲಿ ಕಡಿತವನ್ನು ಅನುಮತಿಸುತ್ತದೆ;
  • ಮಾಡ್ಯೂಲ್ನಲ್ಲಿ ಟೈಪಿಂಗ್ ಹಲವಾರು ಹೊಸ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಪರಿಚಯಿಸಲಾಗಿದೆ:
    • ಕ್ಲಾಸ್ ಟೈಪ್ಡ್ಡಿಕ್ಟ್ ಕೀಲಿಗಳೊಂದಿಗೆ ಸಂಯೋಜಿತವಾಗಿರುವ ಡೇಟಾಗೆ ("TypedDict('Point2D', x=int, y=int, label=str)") ಪ್ರಕಾರದ ಮಾಹಿತಿಯನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಸಹಾಯಕ ಅರೇಗಳಿಗಾಗಿ.
    • ಕೌಟುಂಬಿಕತೆ ಅಕ್ಷರಶಃ, ಇದು ಪ್ಯಾರಾಮೀಟರ್ ಅನ್ನು ಮಿತಿಗೊಳಿಸಲು ಅಥವಾ ಕೆಲವು ಪೂರ್ವನಿರ್ಧರಿತ ಮೌಲ್ಯಗಳಿಗೆ ಮೌಲ್ಯವನ್ನು ಹಿಂತಿರುಗಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ ("ಲಿಟರಲ್['ಸಂಪರ್ಕ', 'ಡಿಸ್ಕನೆಕ್ಟ್']").
    • ವಿನ್ಯಾಸ "ಫೈನಲ್", ಇದು ಬದಲಾಯಿಸಲಾಗದ ಅಥವಾ ಮರುಹಂಚಿಕೆ ಮಾಡಲಾಗದ ಅಸ್ಥಿರ, ಕಾರ್ಯಗಳು, ವಿಧಾನಗಳು ಮತ್ತು ವರ್ಗಗಳ ಮೌಲ್ಯಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲು ಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ ("pi: Final[float] = 3.1415926536").
  • ಬೈಟ್‌ಕೋಡ್‌ನೊಂದಿಗೆ ಕಂಪೈಲ್ ಮಾಡಿದ ಫೈಲ್‌ಗಳಿಗೆ ಸಂಗ್ರಹವನ್ನು ನಿಯೋಜಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಸೇರಿಸಲಾಗಿದೆ, ಪ್ರತ್ಯೇಕ ಎಫ್‌ಎಸ್ ಟ್ರೀನಲ್ಲಿ ಉಳಿಸಲಾಗಿದೆ ಮತ್ತು ಕೋಡ್‌ನೊಂದಿಗೆ ಡೈರೆಕ್ಟರಿಗಳಿಂದ ಬೇರ್ಪಡಿಸಲಾಗಿದೆ. ಬೈಟ್‌ಕೋಡ್‌ನೊಂದಿಗೆ ಫೈಲ್‌ಗಳನ್ನು ಉಳಿಸುವ ಮಾರ್ಗವನ್ನು ವೇರಿಯಬಲ್ ಮೂಲಕ ಹೊಂದಿಸಲಾಗಿದೆ ಪೈಥಾನ್ಪಿಕಾಚೆಪ್ರಿಫಿಕ್ಸ್ ಅಥವಾ "-X pycache_prefix" ಆಯ್ಕೆ;
  • ಅಳವಡಿಸಲಾಗಿದೆ ಬಿಡುಗಡೆಗೆ ಸಮಾನವಾದ ABI ಅನ್ನು ಬಳಸುವ ಪೈಥಾನ್‌ನ ಡೀಬಗ್ ಬಿಲ್ಡ್‌ಗಳನ್ನು ರಚಿಸುವ ಸಾಮರ್ಥ್ಯ, ಇದು ಡಿಬಗ್ ಬಿಲ್ಡ್‌ಗಳಲ್ಲಿ ಸ್ಥಿರ ಬಿಡುಗಡೆಗಳಿಗಾಗಿ ಸಂಕಲಿಸಲಾದ ಎಸ್‌ಐ ಭಾಷೆಯಲ್ಲಿ ಬರೆಯಲಾದ ವಿಸ್ತರಣೆಗಳನ್ನು ಲೋಡ್ ಮಾಡಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ;
  • f-ಸ್ಟ್ರಿಂಗ್‌ಗಳು ('f' ನೊಂದಿಗೆ ಪೂರ್ವಪ್ರತ್ಯಯವಾಗಿ ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡಲಾದ ಅಕ್ಷರಗಳು) = ಆಪರೇಟರ್‌ಗೆ ಬೆಂಬಲವನ್ನು ಒದಗಿಸುತ್ತವೆ (ಉದಾಹರಣೆಗೆ, "f'{expr=}'"), ಇದು ಸುಲಭವಾಗಿ ಡೀಬಗ್ ಮಾಡಲು ನಿಮಗೆ ಅಭಿವ್ಯಕ್ತಿಯನ್ನು ಪಠ್ಯಕ್ಕೆ ಪರಿವರ್ತಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಉದಾಹರಣೆಗೆ:

    ››› ಬಳಕೆದಾರ = 'eric_idle'
    ››› ಸದಸ್ಯ_ನಿಂದ = ದಿನಾಂಕ(1975, 7, 31)
    ››› f'{user=} {member_since=}'
    “user=’eric_idle’ member_since=datetime.date(1975, 7, 31)”

  • ಅಭಿವ್ಯಕ್ತಿ "ಮುಂದುವರೆಯಿರಿ» ಬ್ಲಾಕ್ ಒಳಗೆ ಬಳಸಲು ಅನುಮತಿಸಲಾಗಿದೆ ಅಂತಿಮವಾಗಿ;
  • ಹೊಸ ಮಾಡ್ಯೂಲ್ ಸೇರಿಸಲಾಗಿದೆ multiprocessing.shared_memory, ಮಲ್ಟಿಪ್ರೊಸೆಸ್ ಕಾನ್ಫಿಗರೇಶನ್‌ಗಳಲ್ಲಿ ಹಂಚಿದ ಮೆಮೊರಿ ವಿಭಾಗಗಳ ಬಳಕೆಯನ್ನು ಅನುಮತಿಸುತ್ತದೆ;
  • ವಿಂಡೋಸ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ನಲ್ಲಿ, ವರ್ಗವನ್ನು ಬಳಸಲು ಅಸಿನ್ಸಿಯೊ ಅನುಷ್ಠಾನವನ್ನು ಸರಿಸಲಾಗಿದೆ ProactorEventLoop;
  • ಹೊಸ ಆಬ್ಜೆಕ್ಟ್ ಕೋಡ್ ಕ್ಯಾಶಿಂಗ್ ಯಾಂತ್ರಿಕತೆಯ ಬಳಕೆಯಿಂದಾಗಿ LOAD_GLOBAL ಸೂಚನೆಯ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸರಿಸುಮಾರು 40% ರಷ್ಟು ಹೆಚ್ಚಿಸಲಾಗಿದೆ.

ಮೂಲ: opennet.ru

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