@wraps декоратор

Декораторийн суурь ойлголтод бас нэгэн чухал зүйлийг ойлгох хэрэгтэйг Декораторууд хичээлд үүсгэсэн

log_decorator -ийн жишээн дээр харцгаая.

Эхний гурван нүдний код Декораторууд хичээлийнхтэй ижил тул тайлбарлах шаардлагагүй. Харин 4-р нүдэнд help -ээр hello функцийн талаарх мэдээллийг харахад функцийг wrap гэж гаргасан. Уул нь hello гэж баймаар. Гэхдээ log_decorator декоратор wrap функцийг буцаах тул ажиллагааны энэ төлөв зөв ч програмийн кодод debug хийх буюу ямар нэгэн алдааг илрүүлэхэд асуудал үүсгэнэ. Ажиллагааны энэ төлөв декоратор тавигдсан аль функцээс дуудалт хийгдсэн, функцийн нэр юу болох, кодийн ажлын урсгалыг тогтоох зэрэгт амархан төөрөгдөлд оруулна. Иймээс интерпретаторт асуудлыг зөв ойлгуулан бүгдийг хэвийн горимоор ажлуулахын тулд functools модулийн @wraps декораторыг ашиглаж болно. Декоратор бичихдээ декоратор ашиглана гэдэг нь сонин байж болох үүнд төвөгтэй асуудал байхгүйг

жишээ харуулна. @wraps декораторыг ашиглахын тулд 1 -р нүдэнд functools модулаас wraps -ийг импортлон аваад log_decorator функцэд ирэх функцийг @wraps декораторт дамжуулна. @wraps декоратор багцлагдаж буй функц буюу түүнд дамжуулсан функцийн бүх мета өгөгдлийг гадагш өгөх боломжийг бүрдүүлнэ. Багцлагч wrapper функцуудад дурын параметрүүдийг авах үүднээс ихэнхдээ *arg, **kwargs -ийг тодорхойлон өгөөд тэдгээрийг дуудах функцэд дамжуулдаг. Одоо 3 -р нүдэнд hello функцэд log_decorator декораторыг тавин өгөөд 4 - р нүднийх шиг функцийг help функцэд өгвөл wrap биш hello нэрийг авна. Өөрийн коддоо декоратор ашиглахаар болбол @wraps декораторыг ашиглан интерпретаторийн анхдагч ажиллагааны төлөвийг өөрчлөн кодийн зүгшрүүлэлтийн ажиллагааг хөнгөн, ойлгомжтой болгохыг зөвлөе.

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

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

Зарим тохиолдолд програмийн кодоос exception буюу алдааг хаяулах шаардлага гарна. Тодорхой ажиллагааг хийх функцэд буруу параметрүүдийг дамжуулах, хэрэглэгчээс оруулсан өгөгдөлд алдаа байгааг мэдэгдэх гэх мэтээр олон тохиолдолд кодоос алдаа хаяулах шаардлага гардаг. Үүнийг Героний томьёогоор гурвалжны талбайг олох функцийн

жишээн дээр харцгаая.

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

Өмнөх хичээлүүдэд сурсан логик шалгалт, циклийн мэдлэгээ ашиглан програмчлалын стандарт жишээ "Тоог таа" энгийн тоглоомын програмыг бичье. Тоглоомын логик нь компьютер 1 -50 -ын хооронд санамсаргүй байдлаар сонгосон тоог хэрэглэгч 6 удаагийн оролдлогоор олох юм. Та програмийн кодийг өмнөх хичээлүүдээр сурсан бүтцүүдийг ашиглан бичих гээд үзээрэй.

Санамж: Тавигдсан асуудлын шийдлийг өөрөө олон кодлож сурахыг байнга эрмэлзэх хэрэгтэй. Ер нь програм бүтээх бол олон чиглэлийн мэрэгжилтнүүдийн хамтын ажил байдаг. Бид програмчлалийн python хэлийг судалж байгаа тул кодлогчдод тавигдах асуудлыг хэрхэн шийдэхэд л анхааран бэлэн алгоритм бүхий энгийн "Тоог таа" тоглоомыг сонгосон хэрэг.

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

collections пакетын өгөгдлийн төрлүүдийн элементүүдэд хандахад голлон ашигладаг циклийн бүтэц бол for юм. for циклийг collections пакетын өгөгдлүүд гэлтгүй итерацлагддаг дурын төрөлд зохион байгуулан түүний элементүүдэд хандах боломжтой гэдгийг сануулъя.
Суралцах шалгарсан арга дадлага тул циклийн зохион байгуулахыг жишээгээр харцгаая.

1-р нүдэнд numbers жагсаалтыг үүсгээд түүнийг print функцэд өгвөл жагсаалт байдлаар үзүүлнэ.

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

Элементүүдийн багцийг агуулах төрлүүдийн нэг болох жагсаалт төрлийг авч үзье. Өгөгдлийн багцийн боловсруулалтад хамгийн ихээр ашиглагддаг төрөл бол жагсаалт буюу list гэхэд хэтрүүлэг болохгүй.

Жагсаалттай ажиллах

Жагсаалтыг зарлахдаа [] хаалтыг ашиглана.  

5- р нүдэнд бүхэл тооноос бүрдсэн элементүүдтэй int_list жагсаалтыг үүсгэн утгуудыг олгосон. Жагсаалтын элементүүд өөр өөр төрлийнх байж болохыг 2 - р нүдний жишээ харуулсан. Практикт ихэнх тохиолдолд жагсаалт нэг төрлийн буюу ижил төрөлтэй өгөгдлүүдийг агуулж байдаг. Жагсаалтын уртыг мэдэхдээ len дотоод функцийг ашиглахыг 3 -р нүдний жишээ харуулна. Жагсаалтын элементэд индексээр нь хандах боломжтойг 6 -р нүдний жишээнд харуулсан. Мөрийн адилаар сөрөг индекс ашиглан жагсаалтын эцсээс хандаж болно.

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

тэгшитгэлийн нэг язгуур нь эерэг, нөгөө язгуур нь сөрөг байх параметрийн бүх утгыг ол.
Тэнцэтгэл бишийн нэг шийд нь M -ээс бага нөгөө шийд нь M -ээс их байх гарцаагүй ба хүрэлцээтэй нөхцөлийг ашиглавал болох бөгөөд энэ тэнцэтгэл бишийг бодвол үед манай тэнцэтгэл бишийн шийдийн нэг нь эерэг нөгөө нь сөрөг байна.

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

 

функц [1;9] завсарын аль хэсэгт буурах вэ?

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

 

функцийн хамгийн бага утгыг ол.

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