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 ()
Жол идентификатор ретінде жарамды ма, жоқ па, оны 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 -дың жаңа мүмкіндіктері мен басқа аспектілерін сипаттайтын құжат Python Enhancement Proposal дегенді білдіреді.
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-ді орындау ұсынылады.