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

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

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

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

Мөрийн хэвжүүлэлт бол тусдаа сэдэв. Мөрүүдийг нийлүүлэн ажиллах боломжтой хэдий ч мөр агуулсан том хэмжээний массивтай ажиллахад ийм арга маш эвгүй. Функц, хувьсагчуудтай ажиллаж эхлэх үедээ та мөрүүдийг хэвжүүлэх тусгай механизм байх хэрэгтэйг ойлгох болно. Мөрийг хэвжүүлэх энгийн зарчим бол мөр дотор placeholder буюу орлуулагчийг тодорхойлох юм. Жишээ нь

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

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

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

Хичээлээр функц ашиглахтай холбоотой нэгэн чухал онцлогийн талаар үзэх болно. Чухамдаа бол функцууд нэгийгээ агуулах болон функцийн хувьсагчдын харагдах хүрээний тухай юм.
Хувьсагчдын харагдах хүрээнд тэдгээртэй харьцахад LEGB дүрмийг баримталдаг. Энд L - local /функц доторх/, E - enclosing function local /дотоод функцээр хаагдсан/, G - global /глобал/, B - built in /дотоодын/ гэсэн үгнүүд болно. Орчуулга сайнгүй тул англи хэллэгээр нь тогтоогоод авсан нь илүү.

  Нээгдсэн тоо: 1711 Нийтийн

Мөрийн талаар тодорхой ойлголттой болсон тул Өгөгдлийн төрлүүд хичээлд үзээгүй Python -ий байт гэдэг төрлийн тухай авч үзье. Мөрүүд янз бүрийн тэмдэгтийн кодоор илэрхийлэгдэж болох талаар өмнө нь дурдаж байсан. Ямарч өгөгдлүүд компьютерт эцсийн дүндээ хоёртын системийн 0, 1 цифрүүдээр илэрхийлэгддэг. Иймээс мөрийг бүрдүүлдэг компьютерийн тэмдэгт бүрд кодийн системийн хүснэгтэд тоон кодийг олгосон байдаг. Кодийн хүснэгтүүд олон ч тодорхой стандартуудад хуваагддаг. Кодийн системүүд нэг тэмдэгтийг янз бүрийн уртаар буюу байтаар тодорхойлдог. Жишээ нь тэмдэгтийн ascii системийн хүснэгтэд тэмдэгтийг 7 битээр илэрхийлэх бөгөөд нийтдээ 128 тэмдэгтийг тодорхойлдог.

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

функцийн интервал дахь хамгийн бага утгыг ол.

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

 

Зөв дөрвөн өнцөгт пирамидын өндөр 4. Хажуу ирмэг суурийн хавтгайд 30 градусын өнцгөөр налсан бол пирамидын хажуу ирмэгийг ол.

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

 

бол M·N=?

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