பைத்தானின் `keyword` தொகுதி பற்றிய விரிவான, ஆழமான வழிகாட்டி. வலுவான மெட்டா நிரலாக்கம், குறியீடு உருவாக்கம் மற்றும் சரிபார்ப்புக்காக ஒதுக்கப்பட்ட முக்கிய வார்த்தைகளை எவ்வாறு பட்டியலிடுவது, சரிபார்ப்பது மற்றும் நிர்வகிப்பது என்பதை அறிக.
பைத்தானின் `keyword` தொகுதி: ஒதுக்கப்பட்ட சொற்களுக்கான முழுமையான வழிகாட்டி
எந்தவொரு நிரலாக்க மொழியின் பரந்த பிரபஞ்சத்திலும், சில சொற்கள் புனிதமானவை. அவை கட்டமைப்பு தூண்கள், முழு தொடரியலையும் ஒன்றாக வைத்திருக்கும் இலக்கண பசை. பைத்தானில், இவை முக்கிய சொற்கள் அல்லது ஒதுக்கப்பட்ட சொற்கள் என்று அழைக்கப்படுகின்றன. ஒரு மாறி பெயர் போன்ற அவற்றின் நோக்கம் தவிர வேறு எதற்கும் அவற்றைப் பயன்படுத்த முயற்சிப்பது, உடனடி மற்றும் சமரசமற்ற `SyntaxError`-ல் விளைகிறது. ஆனால் நீங்கள் அவற்றை எப்படி கண்காணிக்கிறீர்கள்? நீங்கள் உருவாக்கும் குறியீடு அல்லது நீங்கள் ஏற்கும் பயனர் உள்ளீடு இந்த புனிதமான நிலத்தில் தற்செயலாக கால் வைக்கவில்லை என்பதை எப்படி உறுதிப்படுத்துவது? இதற்கான பதில் பைத்தானின் நிலையான நூலகத்தின் எளிய, நேர்த்தியான மற்றும் சக்திவாய்ந்த பகுதியில் உள்ளது: keyword
தொகுதி.
இந்த விரிவான வழிகாட்டி உங்களை keyword
தொகுதியில் ஆழமாக அழைத்துச் செல்லும். நீங்கள் பைதான் தொடரியல் விதிகளைப் புதிதாகக் கற்றுக் கொள்ளும் ஒரு தொடக்கக்காரராக இருந்தாலும், வலுவான பயன்பாடுகளை உருவாக்கும் ஒரு இடைநிலை டெவலப்பராக இருந்தாலும் அல்லது கட்டமைப்புகள் மற்றும் குறியீடு ஜெனரேட்டர்களில் பணிபுரியும் ஒரு மேம்பட்ட நிரலாளராக இருந்தாலும், இந்தத் தொகுதியில் தேர்ச்சி பெறுவது சுத்தமான, பாதுகாப்பான மற்றும் புத்திசாலித்தனமான பைதான் குறியீட்டை எழுதுவதற்கான ஒரு முக்கியமான படியாகும்.
பைத்தானில் முக்கிய சொற்கள் என்றால் என்ன?
பைத்தானின் தொடரியலின் அடித்தளம்
அதன் மையத்தில், ஒரு முக்கிய சொல் என்பது பைதான் மொழிபெயர்ப்பாளருக்கு ஒரு சிறப்பு, முன்னரே வரையறுக்கப்பட்ட அர்த்தத்தைக் கொண்ட ஒரு சொல். உங்கள் அறிக்கைகள் மற்றும் குறியீடு தொகுதிகளின் கட்டமைப்பை வரையறுக்க இந்த வார்த்தைகள் மொழியால் ஒதுக்கப்பட்டுள்ளன. அவற்றை பைதான் மொழியின் வினைச்சொற்கள் மற்றும் இணைப்புகளாக நினைத்துப் பாருங்கள். அவை மொழிபெயர்ப்பாளரிடம் என்ன செய்ய வேண்டும், எப்படி கிளைக்க வேண்டும், எப்போது சுழல வேண்டும், மற்றும் கட்டமைப்புகளை எப்படி வரையறுப்பது என்று கூறுகின்றன.
அவை இந்த சிறப்புப் பாத்திரத்தைக் கொண்டிருப்பதால், நீங்கள் அவற்றை அடையாளங்காட்டிகளாகப் பயன்படுத்த முடியாது. அடையாளங்காட்டி என்பது ஒரு மாறி, செயல்பாடு, வகுப்பு, தொகுதி அல்லது வேறு எந்த பொருளுக்கும் நீங்கள் கொடுக்கும் பெயர். நீங்கள் ஒரு முக்கிய சொல்லுக்கு ஒரு மதிப்பை ஒதுக்க முயற்சிக்கும்போது, குறியீடு இயங்குவதற்கு முன்பே பைத்தானின் பாகுபடுத்தி உங்களைத் தடுக்கிறது:
உதாரணமாக, `for` ஐ ஒரு மாறி பெயராகப் பயன்படுத்த முயற்சித்தல்:
# இந்த குறியீடு இயங்காது
for = "loop variable"
# முடிவு -> SyntaxError: invalid syntax
இந்த உடனடி கருத்து நல்லது. இது மொழியின் கட்டமைப்பின் ஒருமைப்பாட்டைப் பாதுகாக்கிறது. இந்த சிறப்பு வார்த்தைகளின் பட்டியலில் if
, else
, while
, for
, def
, class
, import
மற்றும் return
போன்ற நன்கு தெரிந்த முகங்கள் அடங்கும்.
ஒரு முக்கியமான வேறுபாடு: முக்கிய சொற்கள் vs உள்ளமைந்த செயல்பாடுகள்
பைத்தானுக்கு புதிய டெவலப்பர்களுக்கு ஒரு பொதுவான குழப்பமான புள்ளி என்னவென்றால், முக்கிய சொற்களுக்கும் உள்ளமைந்த செயல்பாடுகளுக்கும் இடையிலான வேறுபாடு. இரண்டையும் எந்த இறக்குமதியும் இல்லாமல் உடனடியாகப் பயன்படுத்த முடிந்தாலும், அவற்றின் தன்மை அடிப்படையில் வேறுபட்டது.
- முக்கிய சொற்கள்: மொழியின் தொடரியலின் ஒரு பகுதியாகும். அவை மாற்ற முடியாதவை மற்றும் மறு ஒதுக்கீடு செய்ய முடியாது. அவை இலக்கணம்.
- உள்ளமைந்த செயல்பாடுகள்: உலகளாவிய பெயரிடத்தில் முன் ஏற்றப்பட்ட செயல்பாடுகள், அதாவது
print()
,len()
,str()
மற்றும்list()
. இது ஒரு மோசமான நடைமுறையாக இருந்தாலும், அவை மறு ஒதுக்கீடு செய்யப்படலாம். அவை நிலையான சொல்லகராதியின் ஒரு பகுதி, ஆனால் முக்கிய இலக்கணம் அல்ல.
ஒரு உதாரணத்துடன் விளக்குவோம்:
# ஒரு முக்கிய சொல்லை மீண்டும் ஒதுக்க முயற்சித்தல் (தோல்வி)
try = "attempt"
# முடிவு -> SyntaxError: invalid syntax
# உள்ளமைந்த செயல்பாட்டை மீண்டும் ஒதுக்குதல் (வேலை செய்கிறது, ஆனால் இது ஒரு மோசமான யோசனை!)
print("இது அசல் அச்சு செயல்பாடு")
print = "நான் இனி ஒரு செயல்பாடு அல்ல"
# அடுத்த வரி ஒரு TypeError ஐ அதிகரிக்கும், ஏனெனில் 'print' இப்போது ஒரு சரமாகும்
# print("இது தோல்வியடையும்")
இந்த வேறுபாட்டைப் புரிந்துகொள்வது முக்கியம். keyword
தொகுதி முதல் வகையுடன் மட்டுமே கையாள்கிறது: பைதான் மொழியின் உண்மையான, மறு ஒதுக்கீடு செய்ய முடியாத ஒதுக்கப்பட்ட சொற்கள்.
`keyword` தொகுதியை அறிமுகப்படுத்துதல்: உங்களுக்கான அத்தியாவசிய கருவித்தொகுப்பு
முக்கிய சொற்கள் என்ன என்பதை நாங்கள் நிறுவியுள்ளோம், இப்போது அவற்றை நிர்வகிக்க வடிவமைக்கப்பட்ட கருவியை சந்திப்போம். keyword
தொகுதி பைதான் நிலையான நூலகத்தின் உள்ளமைக்கப்பட்ட பகுதியாகும், அதாவது pip
மூலம் எதையும் நிறுவ வேண்டிய அவசியமின்றி எப்போது வேண்டுமானாலும் அதைப் பயன்படுத்தலாம். ஒரு எளிய import keyword
போதும்.
தொகுதி இரண்டு முதன்மை, சக்திவாய்ந்த செயல்பாடுகளை வழங்குகிறது:
- பட்டியலிடுதல்: நீங்கள் தற்போது இயக்கும் பைதான் பதிப்பிற்கான அனைத்து முக்கிய சொற்களின் முழுமையான, புதுப்பித்த பட்டியலை இது வழங்குகிறது.
- சரிபார்த்தல்: ஏதேனும் ஒரு சரம் ஒரு முக்கிய சொல்லா என்பதைச் சரிபார்க்க இது ஒரு விரைவான மற்றும் நம்பகமான வழியை வழங்குகிறது.
இந்த எளிய திறன்கள் லினர்களை உருவாக்குவது முதல் டைனமிக் மற்றும் பாதுகாப்பான அமைப்புகளை உருவாக்குவது வரை பரந்த அளவிலான மேம்பட்ட பயன்பாடுகளுக்கு அடித்தளமாக உள்ளன.
`keyword` தொகுதியின் முக்கிய செயல்பாடுகள்: ஒரு நடைமுறை வழிகாட்டி
keyword
தொகுதி அழகாக எளிமையானது, அதன் முக்கிய அம்சங்களை ஒரு சில பண்புக்கூறுகள் மற்றும் செயல்பாடுகள் மூலம் வெளிப்படுத்துகிறது. ஒவ்வொருவரையும் நடைமுறை உதாரணங்களுடன் ஆராய்வோம்.
1. `keyword.kwlist` உடன் அனைத்து முக்கிய சொற்களையும் பட்டியலிடுதல்
மிகவும் நேரடியான அம்சம் keyword.kwlist
. இது ஒரு செயல்பாடு அல்ல, ஆனால் தற்போதைய பைதான் மொழிபெயர்ப்பாளரில் வரையறுக்கப்பட்ட அனைத்து முக்கிய சொற்களின் வரிசையை (குறிப்பாக, சரங்களின் பட்டியல்) வைத்திருக்கும் ஒரு பண்புக்கூறு. இது உங்கள் உறுதியான உண்மை ஆதாரம்.
அதை எப்படி பயன்படுத்துவது:
import keyword
# அனைத்து முக்கிய சொற்களின் பட்டியலைப் பெறுக
all_keywords = keyword.kwlist
print(f"இந்த பைதான் பதிப்பில் {len(all_keywords)} முக்கிய சொற்கள் உள்ளன.")
print("இங்கே அவை உள்ளன:")
print(all_keywords)
இந்த குறியீட்டை இயக்குவது முக்கிய சொற்களின் எண்ணிக்கை மற்றும் பட்டியலை அச்சிடும். நீங்கள் 'False'
, 'None'
, 'True'
, 'and'
, 'as'
, 'assert'
, 'async'
, 'await'
போன்ற சொற்களைக் காண்பீர்கள். இந்த பட்டியல் உங்கள் குறிப்பிட்ட பைதான் பதிப்பிற்கான மொழியின் ஒதுக்கப்பட்ட சொல்லகராதியின் ஒரு ஸ்னாப்ஷாட் ஆகும்.
இது ஏன் பயனுள்ளதாக இருக்கிறது? இது உங்கள் நிரல் மொழியின் தொடரியலைப் பற்றி அறிந்து கொள்வதற்கான ஒரு உள்முகமான வழியை வழங்குகிறது. பைதான் குறியீட்டை பாகுபடுத்த, பகுப்பாய்வு செய்ய அல்லது உருவாக்க வேண்டிய கருவிகளுக்கு இது விலைமதிப்பற்றது.
2. `keyword.iskeyword()` உடன் முக்கிய சொற்களைச் சரிபார்த்தல்
முழு பட்டியலையும் வைத்திருப்பது நல்லது என்றாலும், ஒரு சொல் ஒரு முக்கிய சொல்லா என்பதைச் சரிபார்க்க அதை மறுபடியும் செய்வது திறமையற்றது. இந்த பணிக்காக, தொகுதி மிகவும் உகந்த செயல்பாட்டை keyword.iskeyword(s)
வழங்குகிறது.
இந்த செயல்பாடு ஒரு வாதத்தை, ஒரு சரம் s
எடுத்து, அது ஒரு பைதான் முக்கிய சொல் என்றால் True
என்றும் இல்லையெனில் False
என்றும் வழங்கும். ஹேஷ் அடிப்படையிலான தேடலைப் பயன்படுத்துவதால், சோதனை மிகவும் வேகமாக உள்ளது.
அதை எப்படி பயன்படுத்துவது:
import keyword
# சில சாத்தியமான முக்கிய சொற்களை சரிபார்க்கவும்
print(f"'for' ஒரு முக்கிய சொல்: {keyword.iskeyword('for')}")
print(f"'if' ஒரு முக்கிய சொல்: {keyword.iskeyword('if')}")
print(f"'True' ஒரு முக்கிய சொல்: {keyword.iskeyword('True')}")
# சில முக்கிய சொற்கள் அல்லாதவற்றைச் சரிபார்க்கவும்
print(f"'variable' ஒரு முக்கிய சொல்: {keyword.iskeyword('variable')}")
print(f"'true' ஒரு முக்கிய சொல்: {keyword.iskeyword('true')}") # கேஸ் சென்சிடிவிட்டைக் கவனியுங்கள்
print(f"'Print' ஒரு முக்கிய சொல்: {keyword.iskeyword('Print')}")
எதிர்பார்க்கப்படும் வெளியீடு:
'for' ஒரு முக்கிய சொல்: True
'if' ஒரு முக்கிய சொல்: True
'True' ஒரு முக்கிய சொல்: True
'variable' ஒரு முக்கிய சொல்: False
'true' ஒரு முக்கிய சொல்: False
'Print' ஒரு முக்கிய சொல்: False
இந்த எடுத்துக்காட்டிலிருந்து ஒரு முக்கியமான விஷயம் என்னவென்றால், பைதான் முக்கிய சொற்கள் கேஸ் சென்சிடிவ். True
, False
மற்றும் None
ஆகியவை முக்கிய சொற்கள், ஆனால் true
, false
மற்றும் none
இல்லை. keyword.iskeyword()
இந்த முக்கியமான விவரத்தை சரியாக பிரதிபலிக்கிறது.
3. `keyword.issoftkeyword()` உடன் மென்மையான முக்கிய சொற்களைப் புரிந்துகொள்வது
பைதான் உருவாகும்போது, புதிய அம்சங்கள் சேர்க்கப்படுகின்றன. புதிய முக்கிய சொற்களை மாறி பெயர்களாகப் பயன்படுத்தியிருக்கக்கூடிய இருக்கும் குறியீட்டை உடைப்பதைத் தவிர்க்க, பைதான் சில நேரங்களில் "மென்மையான முக்கிய சொற்கள்" அல்லது "சூழல் உணர்திறன் முக்கிய சொற்கள்" அறிமுகப்படுத்துகிறது. இவை குறிப்பிட்ட சூழல்களில் மட்டுமே முக்கிய சொற்களாக செயல்படும் சொற்கள். மிகவும் பிரபலமான எடுத்துக்காட்டுகள் match
, case
மற்றும் _
(வைல்ட் கார்டு), பைதான் 3.10 இல் கட்டமைப்பு வடிவ பொருத்தம் செய்வதற்காக அறிமுகப்படுத்தப்பட்டது.
குறிப்பாக இவற்றை அடையாளம் காண, பைதான் 3.9 keyword.issoftkeyword(s)
செயல்பாட்டை அறிமுகப்படுத்தியது.
பைதான் பதிப்புகளில் ஒரு குறிப்பு: match
மற்றும் case
ஒரு match
தொகுதியில் முக்கிய சொற்களாக செயல்படும்போது, அவை வேறு இடங்களில் மாறி அல்லது செயல்பாடு பெயர்களாக இன்னும் பயன்படுத்தப்படலாம், இதனால் பின்தங்கிய இணக்கத்தன்மை பராமரிக்கப்படுகிறது. keyword
தொகுதி இந்த வேறுபாட்டை நிர்வகிக்க உதவுகிறது.
அதை எப்படி பயன்படுத்துவது:
import keyword
import sys
# இந்த செயல்பாடு பைதான் 3.9 இல் சேர்க்கப்பட்டது
if sys.version_info >= (3, 9):
print(f"'match' ஒரு மென்மையான முக்கிய சொல்: {keyword.issoftkeyword('match')}")
print(f"'case' ஒரு மென்மையான முக்கிய சொல்: {keyword.issoftkeyword('case')}")
print(f"'_' ஒரு மென்மையான முக்கிய சொல்: {keyword.issoftkeyword('_')}")
print(f"'if' ஒரு மென்மையான முக்கிய சொல்: {keyword.issoftkeyword('if')}")
# நவீன பைத்தானில் (3.10+), மென்மையான முக்கிய சொற்கள் முக்கிய kwlist இல் உள்ளன
print(f"\n'match' ஐ iskeyword() ஒரு முக்கிய சொல்லாக கருதுகிறது: {keyword.iskeyword('match')}")
நவீன பைதான் தொடரியலை துல்லியமாக பாகுபடுத்த வேண்டிய கருவிகளை உருவாக்கும் டெவலப்பர்களுக்கு இந்த நுட்பமான வேறுபாடு முக்கியமானது. பெரும்பாலான அன்றாட பயன்பாட்டு மேம்பாட்டிற்கு, keyword.iskeyword()
போதுமானது, ஏனெனில் இது அடையாளங்காட்டிகளாக நீங்கள் தவிர்க்க வேண்டிய அனைத்து சொற்களையும் சரியாக அடையாளம் காட்டுகிறது.
நடைமுறை பயன்பாடுகள் மற்றும் பயன்பாட்டு நிகழ்வுகள்
எனவே, ஒரு டெவலப்பர் ஏன் நிரலாக்க முறையில் முக்கிய சொற்களை சரிபார்க்க வேண்டும்? பயன்பாடுகள் நீங்கள் நினைப்பதை விட பொதுவானவை, குறிப்பாக இடைநிலை மற்றும் மேம்பட்ட களங்களில்.
1. டைனமிக் குறியீடு உருவாக்கம் மற்றும் மெட்டா நிரலாக்கம்
மெட்டா நிரலாக்கம் என்பது மற்ற குறியீட்டை எழுதும் அல்லது கையாளும் குறியீட்டை எழுதும் கலை. இது கட்டமைப்புகள், ஆப்ஜெக்ட்-ரிலேஷனல் மேப்பர்கள் (ORMகள்) மற்றும் தரவு சரிபார்ப்பு லைப்ரரிகளில் (Pydantic போன்றவை) பொதுவானது.
காட்சி: ஒரு தரவு மூலத்தை (JSON ஸ்கீமா அல்லது தரவுத்தள அட்டவணை போன்றவை) எடுத்து தானாகவே அதை பிரதிநிதித்துவப்படுத்த பைதான் வகுப்பை உருவாக்கும் ஒரு கருவியை நீங்கள் உருவாக்குகிறீர்கள் என்று கற்பனை செய்து பாருங்கள். மூலத்திலிருந்து வரும் விசைகள் அல்லது நெடுவரிசை பெயர்கள் வகுப்பின் பண்புகளாக மாறும்.
பிரச்சனை: ஒரு தரவுத்தள நெடுவரிசைக்கு `from` என்று பெயரிடப்பட்டாலோ அல்லது JSON விசைக்கு `class` என்று பெயரிடப்பட்டாலோ என்ன செய்வது? நீங்கள் கண்மூடித்தனமாக அந்த பெயரில் ஒரு பண்பை உருவாக்கினால், அது தவறான பைதான் குறியீட்டை உருவாக்கும்.
தீர்வு: keyword
தொகுதி உங்கள் பாதுகாப்பு வலை. ஒரு பண்பை உருவாக்குவதற்கு முன், அந்த பெயர் ஒரு முக்கிய சொல்லா என்பதை நீங்கள் சரிபார்க்கிறீர்கள். அப்படி இருந்தால், நீங்கள் அதை சுத்தப்படுத்தலாம், எடுத்துக்காட்டாக, ஒரு அடிக்கோட்டைச் சேர்ப்பதன் மூலம், இது பைத்தானில் ஒரு பொதுவான மரபு.
உதாரண சானிடைசர் செயல்பாடு:
import keyword
def sanitize_identifier(name):
"""ஒரு சரம் ஒரு சரியான பைதான் அடையாளங்காட்டி மற்றும் முக்கிய சொல் இல்லை என்பதை உறுதிப்படுத்துகிறது."""
if keyword.iskeyword(name):
return f"{name}_"
# ஒரு முழுமையான செயல்படுத்தல் str.isidentifier() ஐயும் சரிபார்க்கும்
return name
# உதாரண பயன்பாடு:
fields = ["name", "id", "from", "import", "data"]
print("வகுப்பு பண்புகளை உருவாக்குகிறது...")
for field in fields:
sanitized_field = sanitize_identifier(field)
print(f" self.{sanitized_field} = ...")
வெளியீடு:
வகுப்பு பண்புகளை உருவாக்குகிறது...
self.name = ...
self.id = ...
self.from_ = ...
self.import_ = ...
self.data = ...
இந்த எளிய சோதனை உருவாக்கப்பட்ட குறியீட்டில் பேரழிவு தரக்கூடிய தொடரியல் பிழைகளைத் தடுக்கிறது, இது உங்கள் மெட்டா நிரலாக்க கருவிகளை வலுவானதாகவும் நம்பகமானதாகவும் ஆக்குகிறது.
2. டொமைன்-குறிப்பிட்ட மொழிகளை (DSLs) உருவாக்குதல்
ஒரு டொமைன்-குறிப்பிட்ட மொழி (DSL) என்பது ஒரு குறிப்பிட்ட பணிக்காக உருவாக்கப்பட்ட ஒரு மினி-மொழி, இது பெரும்பாலும் பைதான் போன்ற பொது நோக்க மொழியின் மேல் கட்டப்பட்டுள்ளது. தரவுத்தளங்களுக்கான `SQLAlchemy` அல்லது தரவு காட்சிப்படுத்தலுக்கான `Plotly` போன்ற லைப்ரரிகள் அவற்றின் களங்களுக்கு DSLகளை திறம்பட வழங்குகின்றன.
DSL ஐ வடிவமைக்கும்போது, உங்கள் சொந்த கட்டளைகள் மற்றும் தொடரியலை நீங்கள் வரையறுக்க வேண்டும். உங்கள் DSL இன் சொல்லகராதி பைத்தானின் சொந்த ஒதுக்கப்பட்ட சொற்களுடன் முரண்படாமல் இருப்பதை உறுதிப்படுத்த keyword
தொகுதி அவசியம். keyword.kwlist
க்கு எதிராக சரிபார்ப்பதன் மூலம், தெளிவின்மை மற்றும் சாத்தியமான பாகுபடுத்தல் மோதல்களைத் தவிர்க்க உங்கள் வடிவமைப்பை நீங்கள் வழிநடத்தலாம்.
3. கல்வி கருவிகள், லினர்கள் மற்றும் IDEகளை உருவாக்குதல்
பைதான் மேம்பாட்டுக் கருவிகளின் முழு சுற்றுச்சூழல் அமைப்பும் பைத்தானின் தொடரியலைப் புரிந்துகொள்வதை நம்பியுள்ளது.
- லினர்கள் (எ.கா., Pylint, Flake8): இந்த கருவிகள் உங்கள் குறியீட்டில் பிழைகள் மற்றும் ஸ்டைல் சிக்கல்களை நிலையாக பகுப்பாய்வு செய்கின்றன. அவற்றின் முதல் படி குறியீட்டை பாகுபடுத்துவதாகும், இதற்கு எது ஒரு முக்கிய சொல் மற்றும் எது ஒரு அடையாளங்காட்டி என்பதை அறிய வேண்டும்.
- IDEகள் (எ.கா., VS Code, PyCharm): உங்கள் எடிட்டரின் தொடரியல் சிறப்பம்சமாக செயல்படுகிறது, ஏனெனில் அது முக்கிய சொற்களை மாறிகள், சரங்கள் மற்றும் கருத்துகளிலிருந்து வேறுபடுத்தி அறிய முடியும். இது
def
,if
மற்றும்return
ஆகியவற்றை வித்தியாசமாக வண்ணமயமாக்குகிறது, ஏனெனில் அவை முக்கிய சொற்கள் என்று அதற்குத் தெரியும். இந்த அறிவுkeyword
தொகுதி வழங்கும் பட்டியலுக்கு ஒத்த ஒரு பட்டியலிலிருந்து வருகிறது. - கல்வி தளங்கள்: ஊடாடும் குறியீட்டு பயிற்சி நிகழ்நேர பின்னூட்டத்தை வழங்க வேண்டும். ஒரு மாணவர் ஒரு மாறியை
else
என்று பெயரிட முயற்சிக்கும்போது, தளம்keyword.iskeyword('else')
ஐப் பயன்படுத்தி பிழையைக் கண்டறிந்து, "'else' என்பது பைத்தானில் ஒதுக்கப்பட்ட முக்கிய சொல் மற்றும் அதை ஒரு மாறி பெயராகப் பயன்படுத்த முடியாது." போன்ற ஒரு உதவியான செய்தியை வழங்க முடியும்.
4. அடையாளங்காட்டிகளுக்கான பயனர் உள்ளீட்டைச் சரிபார்த்தல்
சில பயன்பாடுகள் பயனர்கள் பிந்தைய நிரலாக்க அடையாளங்காட்டிகளாக மாறக்கூடிய நிறுவனங்களுக்கு பெயரிட அனுமதிக்கின்றன. உதாரணமாக, ஒரு தரவு அறிவியல் தளம் ஒரு பயனர் தரவுத்தொகுப்பில் கணக்கிடப்பட்ட நெடுவரிசைக்கு பெயரிட அனுமதிக்கலாம். இந்த பெயர் பின்னர் பண்பு அணுகல் மூலம் நெடுவரிசையை அணுகுவதற்குப் பயன்படுத்தப்படலாம் (எ.கா., dataframe.my_new_column
).
பயனர் `yield` போன்ற பெயரை உள்ளிடும்போது, இது பின்தள அமைப்பை உடைக்கக்கூடும். உள்ளீட்டு கட்டத்தில் keyword.iskeyword()
ஐப் பயன்படுத்தி ஒரு எளிய சரிபார்ப்பு படி இந்தத் தருணத்தைத் தடுத்து நிறுத்த முடியும், இது சிறந்த பயனர் அனுபவத்தையும் மிகவும் நிலையான அமைப்பையும் வழங்குகிறது.
உதாரண உள்ளீட்டு சரிபார்ப்பு:
import keyword
def is_valid_column_name(name):
"""பயனர் வழங்கிய பெயர் ஒரு சரியான அடையாளங்காட்டியா என்று சரிபார்க்கிறது."""
if not isinstance(name, str) or not name.isidentifier():
print(f"பிழை: '{name}' என்பது சரியான அடையாளங்காட்டி வடிவம் அல்ல.")
return False
if keyword.iskeyword(name):
print(f"பிழை: '{name}' என்பது ஒதுக்கப்பட்ட பைதான் முக்கிய சொல் மற்றும் பயன்படுத்த முடியாது.")
return False
return True
print(is_valid_column_name("sales_total")) # True
print(is_valid_column_name("2023_sales")) # False (ஒரு எண்ணுடன் தொடங்குகிறது)
print(is_valid_column_name("for")) # False (ஒரு முக்கிய சொல்)
பைதான் பதிப்புகளில் முக்கிய சொற்கள்: பரிணாம வளர்ச்சியில் ஒரு குறிப்பு
பைதான் மொழி நிலையானது அல்ல; இது உருவாகிறது. புதிய பதிப்புகளுடன் புதிய அம்சங்கள் மற்றும் சில நேரங்களில் புதிய முக்கிய சொற்கள் வருகின்றன. keyword
தொகுதியின் அழகு என்னவென்றால், அது மொழியுடன் உருவாகிறது. நீங்கள் பெறும் முக்கிய சொற்களின் பட்டியல் எப்போதும் நீங்கள் பயன்படுத்தும் மொழிபெயர்ப்பாளருக்கு குறிப்பிட்டது.
- பைதான் 2 முதல் 3 வரை: மிகவும் பிரபலமான மாற்றங்களில் ஒன்று
print
மற்றும்exec
. பைதான் 2 இல், அவை அறிக்கைகளுக்கான முக்கிய சொற்கள். பைதான் 3 இல், அவை உள்ளமைந்த செயல்பாடுகளாக மாறியதால், அவைkeyword.kwlist
இலிருந்து அகற்றப்பட்டன. - பைதான் 3.5+: ஒத்திசைவற்ற நிரலாக்கத்தை அறிமுகப்படுத்தியதில்
async
மற்றும்await
கொண்டு வரப்பட்டன. ஆரம்பத்தில், அவை சூழல் உணர்திறன் உடையவை, ஆனால் பைதான் 3.7 இல், அவை சரியான (கடினமான) முக்கிய சொற்களாக மாறின. - பைதான் 3.10: கட்டமைப்பு வடிவ பொருத்தம் அம்சம்
match
மற்றும்case
ஆகியவற்றை சூழல் உணர்திறன் உடைய முக்கிய சொற்களாக சேர்த்தது.
இதன் பொருள் keyword
தொகுதியை நம்பியிருக்கும் குறியீடு உள்ளார்ந்த முறையில் எடுத்துச் செல்லக்கூடியது மற்றும் முன்னோக்கி இணக்கமானது. பைதான் 3.11 இல் எழுதப்பட்ட ஒரு குறியீடு ஜெனரேட்டர் match
ஐத் தவிர்க்க தானாகவே தெரிந்து கொள்ளும், அது பைதான் 3.8 இல் இயங்கினால் அது தெரிந்து கொள்ளாது. இந்த டைனமிக் தன்மை தொகுதியின் மிகவும் சக்திவாய்ந்த, ஆனால் குறைத்து மதிப்பிடப்பட்ட அம்சங்களில் ஒன்றாகும்.
சிறந்த நடைமுறைகள் மற்றும் பொதுவான ஆபத்துகள்
keyword
தொகுதி எளிமையானது என்றாலும், பின்பற்ற வேண்டிய சில சிறந்த நடைமுறைகள் மற்றும் தவிர்க்க வேண்டிய ஆபத்துகள் உள்ளன.
செய்ய வேண்டியவை: சரிபார்ப்புக்கு `keyword.iskeyword()` ஐப் பயன்படுத்தவும்
நிரலாக்க அடையாளங்காட்டி உருவாக்கம் அல்லது சரிபார்ப்பு சம்பந்தப்பட்ட எந்தவொரு சூழ்நிலையிலும், இந்த செயல்பாடு உங்கள் சரிபார்ப்பு தர்க்கத்தின் ஒரு பகுதியாக இருக்க வேண்டும். இது வேகமானது, துல்லியமானது மற்றும் இந்தச் சோதனையைச் செய்வதற்கான மிகவும் பைத்தானிக் வழி.
செய்யக்கூடாதவை: `keyword.kwlist` ஐ மாற்ற வேண்டாம்
keyword.kwlist
ஒரு வழக்கமான பைதான் பட்டியல், அதாவது நீங்கள் அதை இயக்க நேரத்தில் தொழில்நுட்ப ரீதியாக மாற்றலாம் (எ.கா., keyword.kwlist.append("my_keyword")
). இதை ஒருபோதும் செய்யாதீர்கள். பட்டியலை மாற்றுவது பைதான் பாகுபடுத்தியில் எந்த விளைவையும் ஏற்படுத்தாது. முக்கிய சொற்கள் பற்றிய பாகுபடுத்தியின் அறிவு கடின குறியீடாக்கப்பட்டுள்ளது. பட்டியலை மாற்றுவது உங்கள் keyword
தொகுதியின் நிகழ்வை மொழியின் உண்மையான தொடரியலுடன் பொருந்தாததாக மாற்றும், இதனால் குழப்பமான மற்றும் கணிக்க முடியாத பிழைகள் ஏற்படும். தொகுதி ஆய்வு செய்வதற்காக, மாற்றுவதற்காக அல்ல.
செய்ய வேண்டியவை: கேஸ் சென்சிடிவிட்டியை நினைவில் கொள்ளுங்கள்
முக்கிய சொற்கள் கேஸ் சென்சிடிவ் என்பதை எப்போதும் நினைவில் கொள்ளுங்கள். பயனர் உள்ளீட்டை சரிபார்க்கும்போது, iskeyword()
மூலம் சரிபார்ப்பதற்கு முன் எந்த கேஸ்-ஃபோல்டிங்கும் (எ.கா., சிறிய எழுத்தாக மாற்றுதல்) செய்யவில்லை என்பதை உறுதிப்படுத்திக் கொள்ளுங்கள், ஏனெனில் அது 'True'
, 'False'
மற்றும் 'None'
ஆகியவற்றிற்கு தவறான முடிவைக் கொடுக்கும்.
செய்யக்கூடாதவை: உள்ளமைந்தவைகளுடன் முக்கிய சொற்களைக் குழப்பிக் கொள்ளாதீர்கள்
list
அல்லது str
போன்ற உள்ளமைந்த செயல்பாட்டு பெயர்களை மறைப்பது ஒரு மோசமான நடைமுறை என்றாலும், இதை கண்டறிய keyword
தொகுதி உங்களுக்கு உதவாது. அது வேறு வகையான பிரச்சனை, பொதுவாக லினர்களால் கையாளப்படுகிறது. keyword
தொகுதி பிரத்தியேகமாக ஒதுக்கப்பட்ட சொற்களுக்காக உருவாக்கப்பட்டுள்ளது, இது SyntaxError
ஐ ஏற்படுத்தும்.
முடிவுரை: பைத்தானின் கட்டுமானத் தொகுதிகளில் தேர்ச்சி பெறுதல்
keyword
தொகுதி `asyncio` போன்ற பளபளப்பாகவோ அல்லது `multiprocessing` போன்ற சிக்கலானதாகவோ இல்லாவிட்டாலும், இது தீவிரமான பைதான் டெவலப்பருக்கு ஒரு அடிப்படை கருவி. இது பைத்தானின் தொடரியலின் மையத்திற்கு ஒரு சுத்தமான, நம்பகமான மற்றும் பதிப்பு விழிப்புணர்வு இடைமுகத்தை வழங்குகிறது—அதன் ஒதுக்கப்பட்ட சொற்கள்.
keyword.kwlist
மற்றும் keyword.iskeyword()
இல் தேர்ச்சி பெறுவதன் மூலம், நீங்கள் மிகவும் வலுவான, புத்திசாலித்தனமான மற்றும் பிழை இல்லாத குறியீட்டை எழுதும் திறனைத் திறக்கிறீர்கள். நீங்கள் சக்திவாய்ந்த மெட்டா நிரலாக்க கருவிகளை உருவாக்கலாம், பாதுகாப்பான பயனர் எதிர்கொள்ளும் பயன்பாடுகளை உருவாக்கலாம் மற்றும் பைதான் மொழியின் நேர்த்தியான கட்டமைப்பிற்கு ஆழமான பாராட்டைப் பெறலாம். நீங்கள் ஒரு அடையாளங்காட்டியை சரிபார்க்க வேண்டும் அல்லது குறியீட்டின் ஒரு பகுதியை உருவாக்க வேண்டும் என்ற அடுத்த முறை, எந்தக் கருவியை எட்ட வேண்டும் என்பதை நீங்கள் சரியாக அறிவீர்கள், இது பைத்தானின் வலுவான அடித்தளத்தில் நம்பிக்கையுடன் உருவாக்க உங்களை அனுமதிக்கும்.