பைதான் 3.10 நிரலாக்க மொழியின் வெளியீடு

ஒரு வருட வளர்ச்சிக்குப் பிறகு, பைதான் 3.10 நிரலாக்க மொழியின் குறிப்பிடத்தக்க வெளியீடு வழங்கப்படுகிறது. புதிய கிளை ஒன்றரை ஆண்டுகளுக்கு ஆதரிக்கப்படும், அதன் பிறகு இன்னும் மூன்றரை ஆண்டுகளுக்கு, பாதிப்புகளை நீக்குவதற்கான திருத்தங்கள் உருவாக்கப்படும்.

அதே நேரத்தில், பைதான் 3.11 கிளையின் ஆல்பா சோதனை தொடங்கியது (புதிய மேம்பாட்டு அட்டவணையின்படி, புதிய கிளையின் பணிகள் முந்தைய கிளை வெளியிடப்படுவதற்கு ஐந்து மாதங்களுக்கு முன்பே தொடங்கி அடுத்த வெளியீட்டின் நேரத்தில் ஆல்பா சோதனை நிலையை அடைகிறது. ) பைதான் 3.11 கிளை ஏழு மாதங்களுக்கு ஆல்பா வெளியீட்டில் இருக்கும், அதன் போது புதிய அம்சங்கள் சேர்க்கப்பட்டு பிழைகள் சரி செய்யப்படும். இதற்குப் பிறகு, பீட்டா பதிப்புகள் மூன்று மாதங்களுக்கு சோதிக்கப்படும், இதன் போது புதிய அம்சங்களைச் சேர்ப்பது தடைசெய்யப்படும் மற்றும் பிழைகளை சரிசெய்வதில் அனைத்து கவனமும் செலுத்தப்படும். வெளியீட்டிற்கு முன் கடந்த இரண்டு மாதங்களுக்கு, கிளை வெளியீட்டு வேட்பாளர் கட்டத்தில் இருக்கும், அதில் இறுதி நிலைப்படுத்தல் செய்யப்படும்.

பைதான் 3.10 க்கு புதிய சேர்த்தல்கள் பின்வருமாறு:

  • குறியீட்டு வாசிப்புத்திறனை மேம்படுத்துதல், தன்னிச்சையான பைதான் பொருள்களின் பொருத்தத்தை எளிதாக்குதல் மற்றும் மேம்பட்ட நிலையான வகை சரிபார்ப்பு மூலம் குறியீட்டின் நம்பகத்தன்மையை அதிகரிக்கும் முறை பொருத்தத்திற்கான "மேட்ச்" மற்றும் "கேஸ்" ஆபரேட்டர்கள் செயல்படுத்தப்பட்டன. செயல்படுத்தல் என்பது ஸ்கலா, ரஸ்ட் மற்றும் எஃப்# இல் வழங்கப்பட்ட "மேட்ச்" ஆபரேட்டரைப் போன்றது, இது ஒரு குறிப்பிட்ட வெளிப்பாட்டின் முடிவை "கேஸ்" ஆபரேட்டரின் அடிப்படையில் பிளாக்குகளில் பட்டியலிடப்பட்ட வடிவங்களின் பட்டியலுடன் ஒப்பிடுகிறது.

    def http_error(status): பொருத்த நிலை: வழக்கு 400: "மோசமான கோரிக்கை" வழக்கு 401|403|404: திரும்ப "அனுமதிக்கப்படவில்லை" வழக்கு 418: திரும்ப "நான் ஒரு டீபாட்" வழக்கு _: திரும்ப "வேறு ஏதாவது"

    ஏற்கனவே உள்ள மதிப்புகளின் அடிப்படையில் மாறிகளை பிணைக்க நீங்கள் பொருள்கள், டூப்பிள்கள், பட்டியல்கள் மற்றும் தன்னிச்சையான வரிசைகளைத் திறக்கலாம். உள்ளமைக்கப்பட்ட டெம்ப்ளேட்களை வரையறுக்கவும், டெம்ப்ளேட்டில் கூடுதல் “if” நிபந்தனைகளைப் பயன்படுத்தவும், முகமூடிகளைப் பயன்படுத்தவும் (“[x, y, *rest]”), விசை/மதிப்பு மேப்பிங் (உதாரணமாக, {“bandwidth”: b, “latency ”: l} ஒரு அகராதியிலிருந்து "அலைவரிசை" மற்றும் "தாமதம்" மதிப்புகளைப் பிரித்தெடுக்க, துணை டெம்ப்ளேட்டுகளைப் பிரித்தெடுக்கவும் (":=" ஆபரேட்டர்), டெம்ப்ளேட்டில் பெயரிடப்பட்ட மாறிலிகளைப் பயன்படுத்தவும். வகுப்புகளில், "__match__()" முறையைப் பயன்படுத்தி பொருந்தக்கூடிய நடத்தையைத் தனிப்பயனாக்க முடியும்.

    டேட்டாகிளாஸ்களில் இருந்து டேட்டாகிளாஸ் @dataclass class Point ஐ இறக்குமதி செய்க Y={y}") கேஸ் பாயிண்ட்(x, 0): அச்சு(f"X={x}") கேஸ் பாயிண்ட்(): அச்சு("வேறு எங்கோ") வழக்கு _: அச்சு("புள்ளி அல்ல") பொருத்தம் புள்ளி: கேஸ் பாயிண்ட்(x, y) என்றால் x == y: அச்சு(f"Y=X இல் {x}") கேஸ் பாயிண்ட்(x, y): அச்சு(f"மூலைவிட்டத்தில் இல்லை") சிவப்பு, பச்சை, நீலம் = 0, 0, 0 பொருத்த நிறம்: கேஸ் சிவப்பு: அச்சு (“நான் சிவப்பு நிறத்தைக் காண்கிறேன்!”) கேஸ் பச்சை: அச்சு (“புல் பச்சை”) கேஸ் நீலம்: அச்சு (“நான் ப்ளூஸை உணர்கிறேன் :(“)

  • பல வரிகளில் சூழல் மேலாளர்களின் தொகுப்பின் வரையறையைப் பிரிக்க, உடன் அறிக்கையுடன் அடைப்புக்குறிகளைப் பயன்படுத்துவது இப்போது சாத்தியமாகும். குழுவில் உள்ள இறுதி சூழல் மேலாளருக்குப் பிறகு காற்புள்ளியை விட்டுவிடவும் அனுமதிக்கப்படுகிறது: உடன் ( CtxManager1() example1, CtxManager2() example2, CtxManager3() example3, ): ...
  • மூடப்படாத பிரேஸ்கள் மற்றும் ஸ்டிரிங் லிட்டரல்களில் மேற்கோள்கள் தொடர்பான பிழைகளின் குறியீட்டு இருப்பிடத்தின் மேம்படுத்தப்பட்ட அறிக்கை. எடுத்துக்காட்டாக, மூடப்படாத பிரேஸ் இருக்கும்போது, ​​பின்வரும் கட்டமைப்பில் தொடரியல் பிழையைப் புகாரளிப்பதற்குப் பதிலாக, சுட்டிக்காட்டி இப்போது திறக்கும் பிரேஸை முன்னிலைப்படுத்துகிறது மற்றும் மூடும் தொகுதி இல்லை என்பதைக் குறிக்கிறது. கோப்பு "example.py", வரி 1 எதிர்பார்க்கப்படுகிறது = {9:1, 18:2, 19:2, 27:3, 28:3, 29:3, 36:4, 37:4, ^SyntaxError: '{' ஒருபோதும் மூடப்படவில்லை

    கூடுதல் சிறப்பு தொடரியல் பிழைச் செய்திகள் சேர்க்கப்பட்டுள்ளன: தொகுதிக்கு முன் மற்றும் அகராதிகளில் ":" சின்னம் இல்லை, அடைப்புக்குறிகளுடன் டூப்பிளைப் பிரிக்கவில்லை, பட்டியல்களில் கமாவைக் காணவில்லை, "தவிர" மற்றும் "இறுதியாக" இல்லாமல் "முயற்சி" தொகுதியைக் குறிப்பிடவும், "= ஐப் பயன்படுத்தி ஒப்பீடுகளில் "= = என்பதற்குப் பதிலாக, f-ஸ்ட்ரிங்கில் *-எக்ஸ்பிரஷன்களைக் குறிப்பிடுகிறது. கூடுதலாக, இது ஆரம்பம் மட்டுமல்ல, முழு சிக்கலான வெளிப்பாடும் முன்னிலைப்படுத்தப்படுவதை உறுதிசெய்கிறது, மேலும் தவறான உள்தள்ளலுடன் தொடர்புடைய பிழைகளின் சூழல் பற்றிய தெளிவான தகவல். >>> def foo(): ... lel என்றால்: ... x = 2 கோப்பு " ", வரி 3 x = 2 ^ உள்தள்ளல் பிழை: வரி 2 இல் 'if' அறிக்கைக்குப் பிறகு உள்தள்ளப்பட்ட தொகுதி எதிர்பார்க்கப்படுகிறது

    ஒரு செயல்பாட்டில் உள்ள பண்புக்கூறுகள் மற்றும் மாறிப் பெயர்களின் பெயர்களில் எழுத்துப்பிழைகளால் ஏற்படும் பிழைகளில், சரியான பெயருடன் ஒரு பரிந்துரை வெளியீடு ஆகும். >>>collections.namedtoplo Traceback (மிக சமீபத்திய அழைப்பு): கோப்பு « ", வரி 1, in பண்புப் பிழை: தொகுதி 'சேகரிப்புகள்' 'namedtoplo' பண்புக்கூறு இல்லை. நீங்கள் குறிப்பிடுவது: பெயரிடப்பட்டதா?

  • பிழைத்திருத்த கருவிகள் மற்றும் விவரக்குறிப்புகளுக்கு, ட்ரேஸ் நிகழ்வுகள் செயல்படுத்தப்பட்ட குறியீட்டின் சரியான வரி எண்களுடன் வழங்கப்படுகின்றன.
  • TextIOWrapper உடன் தொடர்புடைய சாத்தியமான பிழைகள் பற்றிய எச்சரிக்கையைக் காட்ட sys.flags.warn_default_encoding அமைப்பைச் சேர்த்தது மற்றும் 'என்கோடிங்=»utf-8″' விருப்பத்தை வெளிப்படையாகக் குறிப்பிடாமல், UTF-8 குறியாக்கப்பட்ட கோப்புகளைத் திறந்த() செயலாக்குகிறது (ASCII குறியாக்கம் இயல்பாகவே பயன்படுத்தப்படுகிறது) . புதிய வெளியீடு தற்போதைய மொழியின் அடிப்படையில் குறியாக்கத்தை அமைக்க 'குறியீடு="உள்ளூர்"' மதிப்பைக் குறிப்பிடும் திறனையும் வழங்குகிறது.
  • தட்டச்சு தொகுதியில் ஒரு புதிய ஆபரேட்டர் சேர்க்கப்பட்டுள்ளது, இது வகை சிறுகுறிப்புகளைக் குறிப்பிடுவதற்கான கருவிகளை வழங்குகிறது, இது தொடரியல் “X | Y" வகைகளில் ஒன்றைத் தேர்ந்தெடுக்க (X வகை அல்லது Y வகை). டெஃப் சதுரம்(எண்: முழு எண்ணாக | மிதவை) -> முழு எண்ணாக | மிதவை: திரும்பும் எண் ** 2 என்பது முன்பு ஆதரிக்கப்பட்ட கட்டமைப்பிற்குச் சமம்: def சதுரம்(எண்: யூனியன்[int, float]) -> Union[int, float]: திரும்ப எண் ** 2
  • Concatenate ஆபரேட்டர் மற்றும் ParamSpec மாறி ஆகியவை தட்டச்சு தொகுதியில் சேர்க்கப்பட்டுள்ளன, இது Callable ஐப் பயன்படுத்தும் போது நிலையான வகை சரிபார்ப்புக்கான கூடுதல் தகவலை அனுப்ப உங்களை அனுமதிக்கிறது. தட்டச்சுத் தொகுதியானது வகைப் பாதுகாப்புச் செயல்பாடுகளை சிறுகுறிப்பு செய்ய TypeGuard மற்றும் வகை மாற்றுப்பெயரை வெளிப்படையாக வரையறுக்க TypeAlias ​​என்ற சிறப்பு மதிப்புகளையும் சேர்க்கிறது. StrCache: TypeAlias ​​= 'Cache[str]' # ஒரு வகை மாற்றுப்பெயர்
  • zip() செயல்பாடு ஒரு விருப்பமான "கடுமையான" கொடியை செயல்படுத்துகிறது, இது குறிப்பிடப்படும் போது, ​​மீண்டும் கூறப்படும் வாதங்கள் ஒரே நீளமாக உள்ளதா என்பதைச் சரிபார்க்கிறது. >>> பட்டியல்(zip('a', 'b', 'c'), (1, 2, 3), strict=True)) [('a', 1), ('b', 2) , ('c', 3)] >>> பட்டியல்(zip(range(3), ['fee', 'fi', 'fo', 'fum'], strict=True)) ட்ரேஸ்பேக் (மிக சமீபத்திய அழைப்பு கடைசியாக) ): … மதிப்புப் பிழை: zip() வாதம் 2 வாதம் 1 ஐ விட நீளமானது
  • புதிய உள்ளமைக்கப்பட்ட செயல்பாடுகளான aiter() மற்றும் anext() ஆகியவை iter() மற்றும் next() செயல்பாடுகளுக்கு ஒத்திசைவற்ற ஒப்புமைகளை செயல்படுத்துவதன் மூலம் முன்மொழியப்பட்டது.
  • சிறிய பொருள்களுடன் பணிபுரியும் போது str(), bytes() மற்றும் bytearray() கன்ஸ்ட்ரக்டர்களின் வேலை 30-40% துரிதப்படுத்தப்பட்டுள்ளது.
  • ரன்பி தொகுதியில் இறக்குமதி செயல்பாடுகளின் எண்ணிக்கை குறைக்கப்பட்டது. "python3 -m module_name" கட்டளையானது, இறக்குமதி செய்யப்பட்ட தொகுதிகள் 1.4 இலிருந்து 69 ஆகக் குறைக்கப்பட்டதன் காரணமாக சராசரியாக 51 மடங்கு வேகமாக இயங்குகிறது.
  • LOAD_ATTR அறிவுறுத்தல் தனிப்பட்ட ஆப்கோட்களுக்கான கேச்சிங் பொறிமுறையைப் பயன்படுத்துகிறது, இது வழக்கமான பண்புக்கூறுகளுடன் 36% வரை மற்றும் ஸ்லாட்டுகளுடன் 44% வரை வேகத்தை அதிகரிக்கச் செய்தது.
  • "--enable-optimizations" விருப்பத்துடன் பைத்தானை உருவாக்கும்போது, ​​"-fno-semantic-interposition" பயன்முறை இப்போது இயக்கப்பட்டுள்ளது, இது "--enable-shared உடன் உருவாக்குவதை விட 30% வரை மொழிபெயர்ப்பாளரை வேகப்படுத்த அனுமதிக்கிறது. ” விருப்பம்.
  • hashlib மற்றும் ssl தொகுதிகள் OpenSSL 3.0.0க்கான ஆதரவைச் சேர்த்துள்ளன மற்றும் 1.1.1 ஐ விட பழைய OpenSSL பதிப்புகளை ஆதரிப்பதை நிறுத்திவிட்டன.
  • பழைய பாகுபடுத்தி அகற்றப்பட்டது, இது முந்தைய கிளையில் PEG (பாகுபடுத்தும் வெளிப்பாடு இலக்கணம்) பாகுபடுத்தியால் மாற்றப்பட்டது. ஃபார்மேட்டர் தொகுதி அகற்றப்பட்டது. asyncio API இலிருந்து லூப் அளவுரு அகற்றப்பட்டது. முன்பு நிறுத்தப்பட்ட முறைகள் அகற்றப்பட்டன. Py_UNICODE* சரங்களைக் கையாளும் Py_UNICODE_str* செயல்பாடுகள் அகற்றப்பட்டன.
  • Distutils தொகுதி நிறுத்தப்பட்டது மற்றும் பைதான் 3.12 இல் அகற்ற திட்டமிடப்பட்டுள்ளது. டிஸ்டுடில்களுக்குப் பதிலாக, செட்டப்டூல்ஸ், பேக்கேஜிங், பிளாட்ஃபார்ம், ஷட்டில், சப் பிராசஸ் மற்றும் சிஸ்கான்ஃபிக் மாட்யூல்களைப் பயன்படுத்த பரிந்துரைக்கப்படுகிறது. PyUnicodeObject இல் உள்ள wstr அமைப்பு நீக்கப்பட்டது மற்றும் அகற்ற திட்டமிடப்பட்டுள்ளது.

ஆதாரம்: opennet.ru

கருத்தைச் சேர்