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 -нд байдаггүй ч атрибутуудыг нуух боломж байдгийг дараагийн хичээлээр авч үзнэ.