Атрибут, аргууд

Python хэл олон төрлийн програмчлалын арагчлалыг дэмждэг. Өнөө үед маш өргөн дэлгэрсэн ОХП аргачлалыг Python -д маш энгийн, ойлгомжтой байдлаар оруулан ирсэн. Хичээлээр классийн шинж, аргууд гэж юу болохыг тоглоомын баатрын жишээгээр авч үзье.

1-р нүдэнд үүсгэсэн Character бол тоглоомын баатруудын класс бөгөөд байгуулагч аргаар утга олгогдож буй race, damage, armor атрибутууд бол хувийн буюу instance түвшингийнх. Өөрөөр хэлбэл хэрэглэгчийн код Character төрлийн хувьсагчийг үүсгэсний дараа л хандаж болох атрибутууд гэсэн үг. Классийн түвшингийн атрибутуудыг зарлахдаа байгуулагч аргатай ижил түвшинд тодорхойлон өгдөг. Character классийн max_speed,  dead_health бол классийн түвшингийн атрибутууд юм. Хувийн болон классийн түвшинд тодорхойлогдсон атрибутуудийн ялгааг 2, 3, 4 -р нүдний жишээнүүдэд харуулсан. 2 - р нүдний жишээнд Character классийн хувийг үүсгэлгүй классийн түвшингийн шинжид классийн нэрээр дамжин хандахад түүний утгыг буцаасан байгаа. Харин хувийн түвшингийн race шинжид классийн нэрээр дамжин хандах гэвэл алдаа өгөхийг 3 -р нүдний жишээ харуулна. 4-р нүдэнд Character классийн хувийг үүсгэн unit хувьсагчид олгосны дараа хувьсагчаар дамжин аль ч түвшингийн шинжид хандаж болохыг харуулсан.
Класст үйлдэлд буюу аргыг тодорхойлж болохыг

жишээгээр харцгаая. Арга тодорхойлохын тулд Character классийн байгуулагч аргад баатрын амины хувийн health атрибутийг нэмсэн. Атрибутад параметрээр дамжин утга олгогдохгүй шууд заан өгсөн. Дараа нь баатрыг цохиход түүний амины хэмжээг багасах hit, баатрын амьд эсэхийг шалгах is_dead аргыг нэмэн өгсөн. Хувийн түвшингийн аргад бүр эхний аргументээр self -ийг авдаг. is_dead аргад баатрын амины хэмжээг тэгтэй харьцуулж болох ч классийн түвшинд үүсгэсэн dead_health атрибутийг ашигласан. Атрибутийг шууд dead_health нэрээр нь эсхүл кодод бичигдсэн хэлбэрээр ашиглах боломжтой. Гэхдээ Character.dead_health гэж ашиглах нь кодийг илүү ойлгомжтой болгон өгнө. 2 - р нүдэнд классийн хувийг үүсгээд hit аргыг 20 параметртэй дуудаад баатрын амины хэмжээг хэвлээд баатар амьд эсэхийг шалгах is_dead аргыг дуудахад 80, False утгыг өгнө. Аргуудын логикоор ийм ч хариу өгөх ёстой. 3 -р нүднйи жишээ өмнөхтэй ижил. Python -нд private төрлийн атрибут гэж байдаггүй. Классын хувийн атрибутын утгыг заавал аргаар дамжуулан өөрчлөх албагүйг 4 - р нүдний жишээ харуулна. Шууд хувийн холбоосыг хадгалах хувьсагчаар дамжуулан атрибутын утгыг өөрчилж болно. C#, Java хэлүүдийнх шиг private төрлийн атрибутууд python -нд байдаггүй ч атрибутуудыг нуух боломж байдгийг дараагийн хичээлээр авч үзнэ.

Мэдээлэл таалагдсан бол найзуудтайгаа хуваалцаарай.

  Нээгдсэн тоо: 506 Төлбөртэй

Обьект хандалгат програмчлалын технологид нэг ба түүнээс дээш абстракт аргуудыг агуулсан классийг абстракт класс гэж нэрлэдэг. Абстракт арга гэдэг нь абстракт класст тодорхойлогдсон боловч удамшиж буй классууд заавал хэрэгжүүлэлтийг тодорхойлох ёстой тусгай декораттороор тэмдэглэсэн аргууд юм. Python абстракт классуудийг дэмжих дотоод механизмгүй бөгөөд энэ зорилгод abc (Abstract Base Class) тусгай модулийг ашигладаг. Абстракт классийн жишээг харцгаая.

  Нээгдсэн тоо: 1048 Төлбөртэй

Python -нд list comprehension ойлголт чухал байр суурьтай. Ойлголтод тохирох монгол үг олоогүй тул шууд англи нэрээр нь тогтоохыг зөвлөе. list comprehension нь жагсаалтаыг илүү тодорхой, ойлгомжтой, хялбар хэлбэрээр инициализац хийх аргачлал юм.

  Нээгдсэн тоо: 1465 Төлбөртэй

Програмийн боловсруулалтыг мөр төрлийн хувьсагчгүйгээр төсөөлөхийн аргагүй. Python -ий өгөгдлийн төрлүүд бүгд обьектууд гэдгийг сануулъя.

Мөрийг үүсгэх

Мөрийг дан эсхүл давхар хашилтыг ашиглан хоёр янзаар

зарлаж болно. Мөрийг зарлаж байгаа энэ аргуудад зарчмын ялгаа байхгүй. Гэхдээ мөр өөртөө жишээ нь I'm programmer, Bat is a "beginner" programmer гэх мэтээр дан, давхар хашилтыг агуулж болно.

  Нээгдсэн тоо: 1204 Бүртгүүлэх

collection -ийг багц эсхүл цуглуулга гэж орчуулж болох ч өргөн ашиглааад байдаггүй тул collection нэрээр нь ашиглах нь илүү. tuple бол collection төрлийнх. tuple -ийг энгийнээр өөрчлөлт авдаггүй жагсаалт гэж ойлгож болно. tuple -төрлийг жишээнүүдээр авч үзье.

Үйл явдал /event/ тодорхой үйлдэл хийгдсэн талаар системд мэдэгддэг. Хэрвээ бид энэхүү үйлдлийг ажиглах хэрэгтэй бол яг энд…

Нээгдсэн тоо : 292

 

Манай төсөл олон хуудсуудтай болон тэдгээрийн хооронд динамикаар шилжилт хийж байгаа ч тухайн үед шилжилт хийгдсэн хуудаст тохирох…

Нээгдсэн тоо : 369

 

Зочин (Visitor) паттерн классуудыг өөрчлөхгүйгээр тэдгээрийн обьектуудын үйлдлийг тодорхойлох боломжийг олгоно. Зочин хэвийг ашиглахдаа классуудын хоёр ангилалыг тодорхойлно.…

Нээгдсэн тоо : 338

 

Лямбда-илэрхийлэл нь нэргүй аргын хураангуй бичилтийг илэрхийлнэ. Лямбда-илэрхийлэл утга буцаадаг, буцаасан утгыг өөр аргын…

Нээгдсэн тоо : 432

 

Кодийн сайжруулалт /рефакторинг/ хичээлээр програмийн кодоо react -ийн зарчимд нийцүүлэн компонентод салгасан.…

Нээгдсэн тоо : 481

 

Хадгалагч (Memento) хэв обьектын дотоод төлвийг түүний гадна гаргаж дараа нь хайрцаглалтын зарчмыг зөрчихгүйгээр обьектыг сэргээх боломжийг олгодог.

Нээгдсэн тоо : 505

 

Делегаттай нэргүй арга нягт холбоотой. Нэргүй аргуудыг делегатийн хувийг үүсгэхэд ашигладаг.
Нэргүй аргуудын тодорхойлолт delegate түлхүүр үгээр…

Нээгдсэн тоо : 599

 

Математикт харилцан урвуу тоонууд гэж бий. Ямар нэгэн тооны урвуу тоог олохдоо тухайн тоог сөрөг нэг зэрэг дэвшүүлээд…

Нээгдсэн тоо : 690

 

Төсөлд react-router-dom санг оруулан чиглүүлэгчдийг бүртгүүлэн тохируулсан Санг суулган тохируулах хичээлээр бид хуудас…

Нээгдсэн тоо : 726

 
Энэ долоо хоногт

a ба b катеттай тэгш өнцөгт гурвалжин ерөнхий тэгш өнцөгтэй квадратыг багтаасан бол квадратын периметрийг ол.

Нээгдсэн тоо : 1132

 

функцийн графикийн (0,-1) цэгт татсан шүргэгч шулуун ба координатын тэнхлэгүүдээр хашигдсан мужийн талбайг ол.

Нээгдсэн тоо : 747

 

тэнцэтгэл бишийн хамгийн их бүхэл шийдийг ол.

Нээгдсэн тоо : 819