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 аргын 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

Хэрэв та энэ нэрэнд шинэ утга оноох юм бол анхны функц дарагдаж, ашиглах боломжгүй болно. Шинэ утга оноох үед ямар ч алдаа, анхааруулга хэвлэгдэхгүй гэдгийг анхаарна уу.

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 кодын загварын гарын авлага&#8221;, өөрөөр хэлбэл Python-д зориулсан загварын гарын авлагыг тайлбарладаг.

Нэрлэх дүрмийг бас дурддаг.

Дэлгэрэнгүй мэдээллийг дээрх линкээс харна уу, гэхдээ жишээ нь дараах бичих хэв маягийг санал болгож байна.

  • Модуль
    • lowercase_underscore
    • Жижиг үсэг + доогуур зураас
  • Багц
    • lowercase
    • бүх жижиг үсэг
  • Ангиуд, үл хамаарах зүйлүүд
    • CapitalizedWords(CamelCase)
    • Үгийн эхний үсгийг томоор бичнэ, доогуур зураасгүй
  • Функц, хувьсагч, аргууд
    • lowercase_underscore
    • Жижиг үсэг + доогуур зураас
  • тогтмол
    • ALL_CAPS
    • Том үсэг + доогуур зураас

Гэсэн хэдий ч, хэрэв танай байгууллага өөрийн нэрлэх дүрэмгүй бол PEP8-ийг дагаж мөрдөхийг зөвлөж байна.

Copied title and URL