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 නිසා Unicode අක්ෂර ද භාවිතා කළ හැක.
変数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()
තන්තුවක් හඳුනාගැනීමක් ලෙස වලංගුද නැද්ද යන්න තන්තු ක්රමය isidentifier() සමඟ පරීක්ෂා කළ හැක.
එය හැඳුනුම්කාරකයක් ලෙස වලංගු නම් එය සත්ය වන අතර එය අවලංගු නම් අසත්ය වේ.
print('AbcDef_123'.isidentifier())
# True
print('AbcDef-123'.isidentifier())
# False
print('変数1'.isidentifier())
# True
print('☺'.isidentifier())
# False
හඳුනාගැනීම් ලෙස භාවිතා කළ නොහැකි වචන (නම්) (වෙන් කළ වචන)
හඳුනාගැනීම් (නම්) ලෙස වලංගු තන්තු වුවද හඳුනාගැනීම් ලෙස භාවිතා කළ නොහැකි සමහර වචන (වෙන් කළ වචන) ඇත.
වෙන් කර ඇති වචනයක් හැඳුනුම්කාරකයක් ලෙස වලංගු තන්තුවක් බැවින්, isidentifier() true ලෙස ලබා දෙයි, නමුත් එය හඳුනාගැනීමක් ලෙස භාවිතා කරන්නේ නම් දෝෂයක් ඇතිවේ.
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
තවත් පොදු වැරැද්දක් වන්නේ ලැයිස්තුව = [0, 1, 2] භාවිතා කිරීම, එය ලැයිස්තුව () භාවිතා කිරීමට නොහැකි වීමයි. ප්රවේසම් වන්න.
PEP8 සඳහා සම්මුතීන් නම් කිරීම
PEP යනු Python වැඩිදියුණු කිරීමේ යෝජනාවයි, එය 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 යනු අටවන එක වන අතර එය “පයිතන් කේතය සඳහා මෝස්තර මාර්ගෝපදේශය” විස්තර කරයි, එනම් පයිතන් සඳහා මෝස්තර මාර්ගෝපදේශය.
නාමකරණ සම්මුතීන් ද සඳහන් වේ.
වැඩි විස්තර සඳහා ඉහත සබැඳිය බලන්න, නමුත් උදාහරණයක් ලෙස, පහත ලිවීමේ විලාසය නිර්දේශ කෙරේ.
- මොඩියුලය
lowercase_underscore
- කුඩා අකුරු + යටි ඉරි
- පැකේජය
lowercase
- සියලුම කුඩා අකුරු
- පන්ති, ව්යතිරේක
CapitalizedWords
(CamelCase
)- වචනයක මුල් අකුර කැපිටල් කරන්න, යටි ඉරක් නැත
- කාර්යයන්, විචල්යයන් සහ ක්රම
lowercase_underscore
- කුඩා අකුරු + යටි ඉරි
- නියත
ALL_CAPS
- ලොකු අකුරු + යටි ඉරි
කෙසේ වෙතත්, ඔබේ සංවිධානයට තමන්ගේම නම් කිරීමේ සම්මුතියක් නොමැති නම්, PEP8 අනුගමනය කිරීම රෙකමදාරු කරනු ලැබේ.