Ачааллж байна...
Өмнөх хичээлд та print()-ээр компьютерт дуу хоолой өгч сурсан. Энэ хичээлд бид эсрэг чиглэлийн, анх сонсоход хачирхалтай санагдаж болох нэг зүйлтэй танилцана: компьютерын огт уншдаггүй мөрүүд. Тийм ээ — бид кодынхоо дотор Python-д зориулаагүй, Python-ы хувьд огт байхгүйтэй адил, харин зөвхөн хүнд зориулсан бичвэр үлдээж болдог. Ийм бичвэрийг comment гэдэг (англиар "тайлбар, сэтгэгдэл" гэсэн утгатай үг). Бүлэг 1-д бид "программ бол компьютерт өгөх зааврын цуврал" гэж хэлсэн — comment бол тэр цувралын дундах, компьютерт хамаагүй, хүн хүндээ үлдээсэн жижиг захидлууд юм.
"Компьютер уншдаггүй юм бол бичээд яах юм бэ" гэсэн асуулт зүй ёсоор төрнө. Хариулт нь нэг чухал үнэнд тулгуурладаг: кодыг компьютер биелүүлдэг ч, уншдаг нь голдуу хүн байдаг. Программист хүн өдрийнхөө ихэнх цагийг шинэ код бичихдээ биш, байгаа кодыг уншиж ойлгохдоо зарцуулдаг гэвэл та гайхаж магадгүй. Тэр "байгаа код" нь өөр хүний бичсэн код байхаас гадна — хамгийн сонирхолтой нь — өөрийнх нь хэдэн долоо хоногийн өмнө бичсэн код байх нь олон. Дэлхийн бүх программистын мэддэг нэг үнэн бий: өнөөдөр бичиж байхдаа "энэ ойлгомжтой шүү дээ" гэж бодсон код чинь гурван долоо хоногийн дараа өөрт чинь танихгүй хүний бичсэн юм шиг харагддаг. Comment бол яг тэр ирээдүйн, мартчихсан өөртөө зориулж өнөөдрийн, ойлгож байгаа өөрөөсөө үлдээж буй тайлбар юм.
Comment-ийг ингэж төсөөлөөрэй. Та сурах бичиг уншиж байгаад чухал хэсгийнх нь хажууд, хуудасны захад харандаагаар өөртөө зориулж тэмдэглэл бичлээ гэж бодъё: "энэ маргаашийн шалгалтад орно", "энэ хэсгийг ахиж унших". Тэр захын тэмдэглэл номын эх бичвэрт огт нөлөөлөхгүй — номын өгүүлбэрүүд өөрчлөгдөөгүй, дараагийн уншигч номоо хэвийн уншсаар байна. Гэхдээ таны хувьд тэр тэмдэглэлүүд асар үнэтэй: дараа нь номоо нээхэд хамгийн чухал зүйлс рүү шууд хөтөлнө. Comment яг ийм зүйл: кодын "эх бичвэр" болох зааврууд хэвээрээ, Python тэдгээрийг хэвийн биелүүлсээр, харин мөрүүдийн завсарт хүнд зориулсан харандааны тэмдэглэлүүд амьдарч байдаг. Ялгаа нь ганцхан: номын захад бичихэд харандаа хэрэгтэй байсан бол кодод тэмдэглэл үлдээхэд # тэмдэг хэрэгтэй.
python
# Энэ бол миний анхны comment
print("Сайн байна уу")Үр дүн:
Сайн байна ууМөр мөрөөр нь уншъя. Эхний мөр # тэмдгээр эхэлж байгаа тул Python түүнийг эхнээс нь дуустал бүхэлд нь алгассан — тэнд монгол бичвэр байгаа ч Python түүнийг уншихыг оролдоогүй, "ойлгохыг" ч оролдоогүй, зүгээр л байхгүй мэт өнгөрсөн. Хоёр дахь мөр бол таны танил print() заавар бөгөөд хэвийн биелэгдсэн. Үр дүнг хараарай: зөвхөн нэг мөр хэвлэгдсэн, comment-ээс ямар ч ул мөр алга. Өмнөх хичээлд хашилтгүй монгол үг бичихэд NameError гардаг байсныг санаж байна уу? Энд "Энэ бол миний анхны comment" гэсэн хашилтгүй бичвэр байгаа мөртлөө ямар ч алдаа гарсангүй — учир нь # тэмдгийн ард байгаа тул Python түүнийг шалгаж ч үзээгүй юм. Энэ бол comment-ийн мөн чанар: # тэмдгийн цаана та юу ч бичиж болно, ямар ч хэлээр, ямар ч дүрэмгүйгээр — тэр нутаг дэвсгэрт Python-ы дүрэм үйлчилдэггүй.
Хоёр дахь жишээ: мөрийн төгсгөлийн comment. Comment заавал тусдаа мөр эзлэх албагүй — ажиллах кодын ард, мөр дотор нь ч байж болно:
python
print("Өглөөний мэнд") # мэндчилгээ хэвлэнэ
print(7 * 6) # долоог зургаагаар үржүүлж хэвлэнэҮр дүн:
Өглөөний мэнд
42Мөр бүрийн эхний хэсэг — print заавар — хэвийн биелэгдэж, харин # тэмдгээс хойшхи хэсэг нь үл тоогдсон. "# тэмдгээс мөрийн төгсгөл хүртэл" гэсэн дүрмийг санаарай: # хаанаас эхэлнэ, Python-ы "нүд аних" хэсэг тэндээс эхэлдэг. Ийм төгсгөлийн comment нь тухайн нэг мөр юу хийдгийг хажууд нь товчхон хэлж өгөхөд тохиромжтой бөгөөд кодыг уншихад тав тухтай болгодог.
Гурав дахь жишээ: кодыг түр унтраах. Одоо comment-ийн хоёр дахь, программистуудын өдөр тутам хэрэглэдэг увдистай танилцъя. Ажиллаж байгаа кодын мөрийн урд # тавибал тэр мөр "унтардаг":
python
print("Энэ мөр ажиллана")
# print("Энэ мөр түр унтраастай")
print("Энэ мөр бас ажиллана")Үр дүн:
Энэ мөр ажиллана
Энэ мөр бас ажилланаДунд мөр нь бүрэн зөв print заавар байсан ч, урд нь # байгаа учраас Python түүнийг comment гэж үзээд алгассан. Үүнийг программистууд "comment out хийх" буюу "коммэнтлож унтраах" гэж ярьдаг бөгөөд яагаад хэрэгтэй вэ гэвэл: заримдаа та кодынхоо нэг хэсгийг устгахгүйгээр, түр хугацаагаар идэвхгүй болгож туршмаар байдаг. "Энэ мөргүйгээр программ яаж ажиллах бол?" гэж сонирхвол мөрөө устгаад дараа нь дахин бичих шаардлагагүй — урд нь # тавиад ажиллуулж үзээд, буцааж хэрэгтэй бол # тэмдгийг нь арилгахад л болно. Энэ бол код туршилтын хамгийн энгийн бөгөөд хамгийн аюулгүй арга: устгасан зүйл алга болдог бол коммэнтолсон зүйл хүлээгээд байж байдаг.
Дөрөв дэх жишээ: бүгдийг нэг дор. Гурван хэлбэрийг нэг жижиг программд нэгтгэе:
python
# Миний тооны машин
# Зохиогч: Дулгуун
print("Тооцоолол эхэлж байна") # эхлэлийн мэдэгдэл
print(100 - 25) # зуугаас хорин тавыг хасна
# print(100 / 0) # энэ мөрийг зориуд унтраасан!
print("Тооцоолол дууслаа")Үр дүн:
Тооцоолол эхэлж байна
75
Тооцоолол дууслааДээд хоёр мөр нь программын "нүүр хуудас" — энэ программ юу хийдэг, хэн бичсэн тухай тэмдэглэл. Ийм эхлэлийн тайлбар бичих нь маш түгээмэл, сайн дадал юм. Дунд хэсэгт төгсгөлийн comment-ууд мөр бүрийг тайлбарлаж байна. Харин коммэнтолсон print(100 / 0) мөрийг анзаараарай — тэгээр хуваах нь Python-д алдаа үүсгэдэг үйлдэл бөгөөд энэ мөр идэвхтэй байсан бол программ дундаа алдаагаар зогсох байсан. # тэмдэг түүнийг унтраасан учраас программ саадгүй гүйлээ. Хүсвэл энэ жишээг өөрөө бичээд, тэр мөрийн # тэмдгийг арилгаад ажиллуулж үзээрэй — ZeroDivisionError нэртэй шинэ алдаатай танилцах болно (айх зүйлгүй: # тэмдгээ буцааж тавихад л бүх зүйл хэвэндээ орно).
Нэг зүйлийг тэнцвэртэй хэлье: comment бол сайн зүйл боловч мөр бүрийг тайлбарлах албагүй. print("Сайн байна уу") гэдэг мөрөнд "мэндчилгээ хэвлэнэ" гэж бичих нь ойлгомжтой зүйлийг давтсан илүүц ажил юм. Туршлагатай программистууд "код юу хийж байгааг код өөрөө хэлдэг, comment яагаад ингэж хийснийг хэлдэг" гэсэн зарчим баримталдаг. Та одоохондоо суралцаж байгаа тул өөртөө зориулж хүссэн хэмжээгээрээ тэмдэглэл хөтөлж болно — "энэ мөр надад ойлгомжгүй байсан, ингэж ажилладаг юм байна" гэсэн сурагчийн тэмдэглэл бол яг зөв хэрэглээ. Цаг өнгөрөхөд аль нь тайлбар шаардлагатай, аль нь илүүц болохыг та өөрөө мэдэрдэг болно.
Алдаа 1: # тэмдгээ мартах. Тэмдэглэлээ # тэмдэггүй, шууд бичвэл:
python
Энэ бол миний тэмдэглэл
print("Сайн байна уу")Python:
SyntaxError: invalid syntaxОрчуулбал: "SyntaxError: буруу бичиглэл." Өмнөх хичээлээс санаж байгаа бол SyntaxError нь "таны бичсэн зүйл Python хэлний дүрэмд нийцэхгүй тул уншиж чадсангүй" гэсэн утгатай. # тэмдэг байхгүй учраас Python эхний мөрийг заавар гэж уншихыг оролдоод, "Энэ бол миний тэмдэглэл" гэдэг нь ямар ч дүрэмд таарахгүй тул гацсан хэрэг. Засвар нь энгийн: тэмдэглэл мөрийнхөө урд # тавина. Дүрэм болгож санаарай: хүнд зориулсан үг # тэмдгийн ард л амьдарна.
Алдаа 2: Хашилт доторх # бол comment биш. Урвуу төөрөгдөл бас тохиолддог — string дотор # бичихэд юу болох вэ:
python
print("Тэмдэглэл: # энэ хэсэг алга болно гэж бодож байна")Үр дүн:
Тэмдэглэл: # энэ хэсэг алга болно гэж бодож байнаАлдааны мэдэгдэл гараагүй, гэхдээ "хүлээлт биелээгүй" — # тэмдэг болон түүний ард байсан бүх зүйл хэвлэгдчихлээ. Учир нь өмнөх хичээлд үзсэнчлэн хашилтан доторх бүхнийг Python "хайхрахгүй зөөдөг бичвэр" гэж үздэг: string дотор # тэмдэг байвал тэр нь comment эхлүүлэгч биш, бичвэрийн ердийн нэг тэмдэгт л байдаг. Дүрэм: # тэмдэг зөвхөн хашилтын гадна байхдаа comment эхлүүлдэг.
Алдаа 3: # тэмдгийг буруу байрлуулж кодоо унтраачих. Төгсгөлийн comment бичих гэж байгаад # тэмдгээ мөрийн эхэнд тавьчихвал:
python
# print("Чухал мэдэгдэл") энэ мөр мэдэгдэл хэвлэнэҮр дүн: юу ч хэвлэгдэхгүй — мөн ямар ч алдаа гарахгүй. Энэ бол алдааны мэдэгдэлгүй учраас хамгийн зальтай нь: программ "амжилттай" ажиллачихсан мөртлөө хүлээсэн мэдэгдэл чинь хаана ч алга. Шалтгаан нь: # мөрийн хамгийн эхэнд байгаа тул print хүртэл бүх зүйл comment болж унтарчээ. Ийм "чимээгүй гажуудал" гарвал эхлээд # тэмдгүүдийнхээ байрлалыг шалгаарай — заавар нь # тэмдгийн урд, тайлбар нь ард байх ёстой. VS Code энд бас тусалдаг: comment болсон хэсгийг эдитор ногоовтор бүдэг өнгөөр буддаг тул "ажиллах ёстой код минь comment-ийн өнгөтэй болчихсон байна" гэдгийг нүдээрээ шууд анзаарч болно.
Comment бол # тэмдгээр эхэлдэг, Python-ы огт уншдаггүй, зөвхөн хүнд зориулсан тэмдэглэл юм.
Кодын мөрийн урд # тавьж түр унтраах (comment out) нь устгахгүйгээр туршдаг аюулгүй арга.
Хашилт доторх # бол comment биш, бичвэрийн ердийн тэмдэгт.
Сайн comment "юу"-г биш "яагаад"-ыг тайлбарладаг — гэхдээ суралцагч хүн өөртөө зориулж чөлөөтэй тэмдэглэл хөтөлж болно.
Дараагийн хичээлээр бид энэ бүлгээ Python-ы уншлагын дэг журмаар өндөрлөнө: Python кодыг яг ямар дарааллаар уншиж биелүүлдэг, мөрийн дараалал үр дүнг хэрхэн өөрчилдгийг жижиг программ дээр мөр мөрөөр нь мөшгиж үзнэ. print болон comment хоёул тэнд бидэнтэй хамт байх болно.
Бүртгэлтэй болсноор энэ сургалтын бүх хичээлд хандах эрх авна.