Python သော့ချက်စကားလုံးများစာရင်းကိုကြည့်ရန် (သီးသန့်စကားလုံးများ) ကိုသုံးပါ။

စီးပွားရေးလုပ်ငန်း

Python သော့ချက်စကားလုံးများစာရင်း (သီးသန့်စကားလုံးများ) ကို စံစာကြည့်တိုက်၏ သော့ချက်စကားလုံး module တွင် တွေ့ရှိနိုင်သည်။

သော့ချက်စာလုံးများ (သီးသန့်စကားလုံးများ) ကို ပြောင်းလဲနိုင်သော အမည်များ၊ လုပ်ဆောင်ချက်အမည်များ၊ အတန်းအမည်များ စသည်တို့အတွက် အမည်များ (သတ်မှတ်သူ) အဖြစ် အသုံးမပြုနိုင်ပါ။

အောက်ပါအချက်အလက်များကို ဤနေရာတွင် ဖော်ပြပေးထားပါသည်။

  • Python သော့ချက်စကားလုံးများစာရင်းကို ရယူပါ (သီးသန့်စကားလုံးများ)keyword.kwlist
  • စာကြောင်းသည် သော့ချက်စကားလုံး (သီးသန့်စကားလုံးဖြစ်မဖြစ် စစ်ဆေးပါ)။keyword.iskeyword()
  • အဓိကစကားလုံးများနှင့် သီးသန့်စကားလုံးများကြား ခြားနားချက်

နောက်ဆုံးအပိုင်းတွင် ဖော်ပြထားသည့်အတိုင်း သော့ချက်စကားလုံးများနှင့် သီးသန့်စကားလုံးများသည် ကွဲပြားသော အယူအဆများဖြစ်သည်။

အောက်ပါနမူနာကုဒ်သည် Python 3.7.3 ကိုအသုံးပြုသည်။ သော့ချက်စကားလုံးများ (သီးသန့်စကားလုံးများ) ဗားရှင်းပေါ်မူတည်၍ ကွဲပြားနိုင်သည်ကို သတိပြုပါ။

Python သော့ချက်စကားလုံးများ (သီးသန့်စကားလုံးများ) စာရင်းကို ရယူပါ): keyword.kwlist

keyword.kwlist တွင် Python တွင် အဓိကစကားလုံးများ (သီးသန့်စကားလုံးများ) စာရင်းတစ်ခုပါရှိသည်။

အောက်ပါဥပမာတွင်၊ pprint ကို output ကိုဖတ်ရန်ပိုမိုလွယ်ကူစေရန်အသုံးပြုသည်။

import keyword
import pprint

print(type(keyword.kwlist))
# <class 'list'>

print(len(keyword.kwlist))
# 35

pprint.pprint(keyword.kwlist, compact=True)
# ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break',
#  'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for',
#  'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not',
#  'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

စာရင်း၏ အစိတ်အပိုင်းများသည် စာကြောင်းများဖြစ်သည်။

print(keyword.kwlist[0])
# False

print(type(keyword.kwlist[0]))
# <class 'str'>

အကယ်၍ သင်သည် ဤအမည်များကို ခွဲခြားသတ်မှတ်မှုများ (ပြောင်းလဲနိုင်သော အမည်များ၊ လုပ်ဆောင်ချက်အမည်များ၊ အတန်းအမည်များ စသည်ဖြင့်) ကို အသုံးပြုရန် ကြိုးစားပါက သင်သည် အမှားအယွင်းတစ်ခု ရရှိမည်ဖြစ်သည်။

# True = 100
# SyntaxError: can't assign to keyword

စာကြောင်းသည် သော့ချက်စကားလုံး (သီးသန့်စကားလုံး) ရှိ၊ မရှိ စစ်ဆေးပါ- keyword.iskeyword()

keyword.iskeyword() ကို အသုံးပြု၍ စာကြောင်းတစ်ကြောင်းသည် သော့ချက်စကားလုံး (သီးသန့်စကားလုံး) ဟုတ်မဟုတ် စစ်ဆေးနိုင်သည်။

အငြင်းအခုံအဖြစ် စစ်ဆေးလိုသော စာကြောင်းကို သင်သတ်မှတ်သောအခါ၊ ၎င်းသည် သော့ချက်စာလုံးဖြစ်လျှင် အမှန်နှင့် မဟုတ်ပါက false ပြန်ပေးသည်။

print(keyword.iskeyword('None'))
# True

print(keyword.iskeyword('none'))
# False

အဓိကစကားလုံးများနှင့် သီးသန့်စကားလုံးများကြား ခြားနားချက်

ကျွန်ုပ်တို့သည် ၎င်းတို့ကို ခွဲခြားမှုမရှိဘဲ အသုံးပြုနေသော်လည်း တိကျစွာပြောရလျှင် အဓိကစကားလုံးများနှင့် သီးသန့်စကားလုံးများသည် မတူညီသော အယူအဆနှစ်ခုဖြစ်သည်။

  • သော့ချက်စာလုံးများ- ဘာသာစကားသတ်မှတ်ချက်တွင် အထူးအဓိပ္ပာယ်ရှိသော စကားလုံးများ
  • သီးသန့်စကားလုံးများ- သတ်မှတ်ထားသောစာကြောင်းများအတွက် စည်းမျဉ်းများကို ကျေနပ်စေသော စကားလုံးများဖြစ်သော်လည်း သတ်မှတ်ဖော်ပြချက်များအဖြစ် အသုံးမပြုနိုင်ပါ။

goto သည် သီးသန့်စကားလုံးဖြစ်သော်လည်း Java ၏သော့ချက်စာလုံးမဟုတ်သည့် ဥပမာများအပါအဝင် နောက်ထပ်အသေးစိတ်အချက်အလက်များအတွက် အောက်ပါလင့်ခ်များကို ကြည့်ပါ။

In a computer language, a reserved word (also known as a reserved identifier) is a word that cannot be used as an identifier, such as the name of a variable, function, or label – it is “ reserved from use” . This is a syntactic definition, and a reserved word may have no user-define meaning.
အနီးကပ်ဆက်စပ်ပြီး မကြာခဏ ရောထွေးနေသော အယူအဆသည် သော့ချက်စကားလုံးဖြစ်ပြီး၊ အထူးသဖြင့် အကြောင်းအရာတစ်ခုတွင် အထူးအဓိပ္ပာယ်ရှိသော စကားလုံးဖြစ်သည်။ ဒါက အဓိပ္ပါယ်ဖွင့်ဆိုချက်ပါ။ ဆန့်ကျင်ဘက်အားဖြင့်၊ စံပြစာကြည့်တိုက်တစ်ခုရှိ အမည်များကို ဘာသာစကားတွင် ထည့်သွင်းမထားသော်လည်း သီးသန့်စကားလုံးများ သို့မဟုတ် သော့ချက်စာလုံးများကို ထည့်သွင်းစဉ်းစားမည်မဟုတ်ပါ။ “ သီးသန့်စကားလုံး” နှင့် “ သော့ချက်စာလုံး” ဟူသောအသုံးအနှုန်းများကို မကြာခဏ အပြန်အလှန်အသုံးပြုကြသည် – သီးသန့်စကားလုံးသည် “ သော့ချက်စကားလုံးအဖြစ် အသုံးပြုရန် သီးသန့်ထား” ဟု ဆိုနိုင်သည် – တရားဝင်အသုံးပြုမှုမှာ ဘာသာစကားတစ်ခုနှင့်တစ်ခု ကွဲပြားသည်။ ဤဆောင်းပါးအတွက် ကျွန်ုပ်တို့သည် အထက်ဖော်ပြပါအတိုင်း ခွဲခြားထားပါသည်။
Reserved word – Wikipedia

Keywords have a special meaning in a language, and are part of the syntax.
သီးသန့်စကားလုံးများသည် ဘာသာစကားဖြင့် သီးသန့်ထားသောကြောင့် ၎င်းတို့ကို သတ်မှတ်ဖော်ပြချက်များ (variables၊ functions စသည်ဖြင့်) အဖြစ်သုံး၍မရပါ။
language agnostic – What is the difference between “ keyword” and “ reserved word” ? – Stack Overflow

Python တွင် (အနည်းဆုံး Python 3.7 မှ) သော့ချက်စကားလုံးများအားလုံးသည် သီးသန့်စကားလုံးများဖြစ်ပြီး သော့ချက်စကားလုံးများမှလွဲ၍ အခြားသီးသန့်စကားလုံးများမရှိသောကြောင့် ခွဲခြားမှုမရှိဘဲ ၎င်းတို့ကိုအသုံးပြုရန် ဘေးကင်းပါသည်။

ခွဲခြားသတ်မှတ်မှုများအဖြစ် အသုံးပြုနိုင်သော အမည်များအတွက် အောက်ပါဆောင်းပါးကိုလည်း ကြည့်ပါ။