ឈ្មោះត្រឹមត្រូវ និងមិនត្រឹមត្រូវ និងអនុសញ្ញាដាក់ឈ្មោះសម្រាប់ការកំណត់អត្តសញ្ញាណ (ឧ. ឈ្មោះអថេរ) នៅក្នុង Python

អាជីវកម្ម

នៅក្នុង Python ការកំណត់អត្តសញ្ញាណ (ឈ្មោះអថេរ មុខងារ ថ្នាក់។ល។) ចាំបាច់ត្រូវកំណត់ដោយយោងទៅតាមច្បាប់។ ឈ្មោះ​ដែល​មិន​គោរព​តាម​ច្បាប់​មិន​អាច​ត្រូវ​បាន​ប្រើ​ជា​គ្រឿង​សម្គាល់​ទេ ហើយ​នឹង​មាន​កំហុស។

ព័ត៌មានខាងក្រោមត្រូវបានផ្តល់ជូននៅទីនេះ។

  • តួអក្សរដែលអាច និងមិនអាចប្រើក្នុងការកំណត់អត្តសញ្ញាណ (ឈ្មោះ)
    • តួអក្សរ ASCII
    • តួអក្សរយូនីកូដ
      • ការធ្វើឱ្យធម្មតា (ឧទាហរណ៍ក្នុងគណិតវិទ្យា)
  • ពិនិត្យមើលថាតើខ្សែអក្សរគឺជាឧបករណ៍កំណត់អត្តសញ្ញាណត្រឹមត្រូវឬអត់៖isidentifier()
  • ពាក្យ​ដែល​មិន​អាច​ប្រើ​ជា​កំណត់​អត្តសញ្ញាណ (ឈ្មោះ) (ពាក្យ​បម្រុង)
  • ពាក្យដែលមិនគួរប្រើជាអត្តសញ្ញាណ (ឈ្មោះ)
  • ការ​ដាក់​ឈ្មោះ​អនុសញ្ញា​សម្រាប់ PEP8

ការពិពណ៌នាខាងក្រោមត្រូវបានផ្តល់ឱ្យនៅក្នុង Python 3 ហើយអាចខុសគ្នានៅក្នុង Python 2 ។

តួអក្សរដែលអាច និងមិនអាចប្រើក្នុងការកំណត់អត្តសញ្ញាណ (ឈ្មោះ)

បង្ហាញតួអក្សរដែលអាច និងមិនអាចប្រើជាអត្តសញ្ញាណ (ឈ្មោះ)។

លើសពីនេះទៀត ទោះបីជាមានរឿងជាច្រើនដែលត្រូវសរសេរក៏ដោយ ជាមូលដ្ឋានទាំងអស់ដែលអ្នកត្រូវចងចាំគឺដូចខាងក្រោម។

  • ប្រើអក្សរធំ និងអក្សរតូច លេខ និងសញ្ញាគូសក្រោម។
  • អក្សរទីមួយ (ទីមួយ) មិនអាចជាលេខបានទេ។

តួអក្សរ ASCII

តួអក្សរ ASCII ដែលអាចប្រើជាអត្តសញ្ញាណ (ឈ្មោះ) គឺជាអក្សរធំ និងអក្សរតូច (A~Z,a~z) លេខ (0~9) និងសញ្ញាគូសក្រោម (_)។ អក្ខរក្រម​គឺ​ប្រកាន់អក្សរតូចធំ។

AbcDef_123 = 100
print(AbcDef_123)
# 100

និមិត្តសញ្ញាផ្សេងក្រៅពីសញ្ញាគូសក្រោមមិនអាចប្រើបានទេ។

# AbcDef-123 = 100
# SyntaxError: can't assign to operator

ដូចគ្នា​នេះ​ផង​ដែរ លេខ​មិន​អាច​ត្រូវ​បាន​ប្រើ​នៅ​ខាង​ដើម​ឡើយ (អក្សរ​ទីមួយ)។

# 1_abc = 100
# SyntaxError: invalid token

សញ្ញា​គូស​ក្រោម​ក៏​អាច​ត្រូវ​បាន​ប្រើ​នៅ​ដើម​។

_abc = 100
print(_abc)
# 100

ទោះជាយ៉ាងណាក៏ដោយ សូមចំណាំថាសញ្ញាគូសនៅខាងដើមអាចមានអត្ថន័យពិសេស។

តួអក្សរយូនីកូដ

ចាប់តាំងពី Python 3 អក្សរយូនីកូដក៏អាចប្រើបានដែរ។

変数1 = 100
print(変数1)
# 100

មិនមែនអក្សរយូនីកូដទាំងអស់អាចប្រើបានទេ ហើយអាស្រ័យលើប្រភេទយូនីកូដ ខ្លះមិនអាចប្រើបានទេ។ ជាឧទាហរណ៍ និមិត្តសញ្ញាដូចជាសញ្ញាវណ្ណយុត្តិ និងរូបសញ្ញាមិនអាចប្រើបានទេ។

# 変数。 = 100
# SyntaxError: invalid character in identifier

# ☺ = 100
# SyntaxError: invalid character in identifier

សូមមើលឯកសារផ្លូវការសម្រាប់លេខកូដប្រភេទយូនីកូដដែលអាចប្រើបាន។

ក្នុង​ករណី​ជា​ច្រើន វា​គ្មាន​ប្រយោជន៍​អ្វី​ឡើយ​ក្នុង​ការ​ប្រើ​អក្សរ​ចិន។

ការធ្វើឱ្យធម្មតា (ឧទាហរណ៍ក្នុងគណិតវិទ្យា)

តួអក្សរយូនីកូដត្រូវបានបំប្លែងទៅជាទម្រង់ធម្មតា NFKC សម្រាប់ការបកស្រាយ។ ឧទាហរណ៍ អក្ខរក្រម​ទទឹង​ពេញ​ត្រូវ​បាន​បំប្លែង​ទៅ​ជា​អក្ខរក្រម​ពាក់កណ្តាល​ទទឹង (តួអក្សរ ASCII)។

សូមចំណាំថា ទោះបីជាកូដប្រភពបង្ហាញការបង្ហាញផ្សេងគ្នាក៏ដោយ វាត្រូវបានចាត់ទុកថាជាវត្ថុដូចគ្នា ហើយនឹងត្រូវបានសរសេរជាន់ពីលើ។

ABC = 100
ABC = -100

print(ABC)
# -100

print(ABC)
# -100

print(ABC is ABC)
# True

ពិនិត្យមើលថាតើខ្សែអក្សរគឺជាឧបករណ៍កំណត់អត្តសញ្ញាណត្រឹមត្រូវ៖ isidentifier()

ថាតើខ្សែអក្សរមានសុពលភាពឬអត់ ក្នុងនាមជាអ្នកកំណត់អត្តសញ្ញាណអាចត្រូវបានពិនិត្យដោយប្រើ string method isidentifier()។

វាត្រឡប់ពិតប្រសិនបើវាមានសុពលភាពជាឧបករណ៍កំណត់អត្តសញ្ញាណ ហើយមិនពិតប្រសិនបើវាមិនត្រឹមត្រូវ។

print('AbcDef_123'.isidentifier())
# True

print('AbcDef-123'.isidentifier())
# False

print('変数1'.isidentifier())
# True

print('☺'.isidentifier())
# False

ពាក្យ​ដែល​មិន​អាច​ប្រើ​ជា​កំណត់​អត្តសញ្ញាណ (ឈ្មោះ) (ពាក្យ​បម្រុង)

មានពាក្យមួយចំនួន (ពាក្យដែលបានបម្រុងទុក) ដែលមិនអាចប្រើជាឧបករណ៍កំណត់អត្តសញ្ញាណបាន បើទោះបីជាពួកគេជាខ្សែអក្សរត្រឹមត្រូវជាអ្នកកំណត់អត្តសញ្ញាណ (ឈ្មោះ) ក៏ដោយ។

ដោយសារពាក្យដែលបានបម្រុងទុកគឺជាខ្សែអក្សរដែលមានសុពលភាពជាឧបករណ៍កំណត់អត្តសញ្ញាណ isidentifier() ត្រឡប់ពិត ប៉ុន្តែកំហុសកើតឡើងប្រសិនបើវាត្រូវបានប្រើជាឧបករណ៍កំណត់អត្តសញ្ញាណ។

print('None'.isidentifier())
# True

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

ដើម្បីទទួលបានបញ្ជីពាក្យដែលបានបម្រុងទុក និងពិនិត្យមើលថាតើខ្សែអក្សរគឺជាពាក្យដែលបានបម្រុងទុក សូមប្រើម៉ូឌុលពាក្យគន្លឹះនៃបណ្ណាល័យស្តង់ដារ។

ពាក្យដែលមិនគួរប្រើជាអត្តសញ្ញាណ (ឈ្មោះ)

ឧទាហរណ៍ ឈ្មោះនៃមុខងារដែលភ្ជាប់មកជាមួយរបស់ Python អាចត្រូវបានប្រើជាអ្នកកំណត់អត្តសញ្ញាណ ដូច្នេះអ្នកអាចកំណត់តម្លៃថ្មីឱ្យពួកវាជាអថេរ។

ឧទាហរណ៍ len() គឺជាមុខងារដែលភ្ជាប់មកជាមួយ ដែលត្រឡប់ចំនួនធាតុនៅក្នុងបញ្ជី ឬចំនួនតួអក្សរក្នុងខ្សែអក្សរ។

print(len)
# <built-in function len>

print(len('abc'))
# 3

ប្រសិនបើអ្នកកំណត់តម្លៃថ្មីទៅ len ឈ្មោះនេះ មុខងារដើមនឹងត្រូវបានសរសេរជាន់ពីលើ ហើយមិនអាចប្រើបាន។ ចំណាំថាគ្មានកំហុស ឬការព្រមាននឹងត្រូវបានបោះពុម្ពនៅពេលកំណត់តម្លៃថ្មី។

print(len('abc'))
# 3

len = 100
print(len)
# 100

# print(len('abc'))
# TypeError: 'int' object is not callable

កំហុសទូទៅមួយទៀតគឺការប្រើ list = [0, 1, 2] ដែលធ្វើឱ្យវាមិនអាចប្រើ list()។ ត្រូវ​ប្រុងប្រយ័ត្ន។

ការ​ដាក់​ឈ្មោះ​អនុសញ្ញា​សម្រាប់ PEP8

PEP តំណាងឱ្យ Python Enhancement Proposal ដែលជាឯកសារដែលពិពណ៌នាអំពីលក្ខណៈពិសេសថ្មី និងទិដ្ឋភាពផ្សេងទៀតនៃ Python ។

PEP stands for Python Enhancement Proposal. A PEP is a design document providing information to the Python community, or describing a new feature for Python or its processes or environment.
PEP 1 — PEP Purpose and Guidelines | Python.org

PEP8 គឺជាលេខទីប្រាំបី ហើយវាពិពណ៌នាអំពី “ការណែនាំអំពីរចនាប័ទ្មសម្រាប់កូដ Python” ពោលគឺការណែនាំអំពីរចនាប័ទ្មសម្រាប់ Python ។

អនុសញ្ញាដាក់ឈ្មោះក៏ត្រូវបានលើកឡើងផងដែរ។

សូមមើលតំណខាងលើសម្រាប់ព័ត៌មានលម្អិត ប៉ុន្តែឧទាហរណ៍ រចនាប័ទ្មសរសេរខាងក្រោមត្រូវបានណែនាំ។

  • ម៉ូឌុល
    • lowercase_underscore
    • អក្សរ​តូច + អក្សរ​ក្រោម
  • កញ្ចប់
    • lowercase
    • អក្សរតូចទាំងអស់។
  • ថ្នាក់, ករណីលើកលែង
    • CapitalizedWords(CamelCase)
    • សរសេរអក្សរធំនៃអក្សរទីមួយនៃពាក្យមួយ ដោយគ្មានសញ្ញាចុច
  • មុខងារ អថេរ និងវិធីសាស្រ្ត
    • lowercase_underscore
    • អក្សរ​តូច + អក្សរ​ក្រោម
  • ថេរ
    • ALL_CAPS
    • អក្សរធំ + សញ្ញាចុច

ទោះជាយ៉ាងណាក៏ដោយ ប្រសិនបើស្ថាប័នរបស់អ្នកមិនមានអនុសញ្ញាដាក់ឈ្មោះផ្ទាល់ខ្លួនទេ វាត្រូវបានណែនាំឱ្យធ្វើតាម PEP8។

Copied title and URL