@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 декораторыг ашиглан интерпретаторийн анхдагч ажиллагааны төлөвийг өөрчлөн кодийн зүгшрүүлэлтийн ажиллагааг хөнгөн, ойлгомжтой болгохыг зөвлөе.

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

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

Програмд функц ямар хэрэгтэй вэ? гэсэн асуулт гарч ирж болох юм. Функцийн нэг үүрэг бол кодын ижил хэсгийг давталтгүй болгон дахин ашиглах боломжийг бүрдүүлэхэд оршино. Жишээ нь програмын ямар нэгэн логикийн хэрэгжүүлэлтийг нэг удаа кодлоод түүнийг програмын кодийн бусад хэсгүүдэд хэрэгтэй болоход ашиглах боломжийг функц олгох юм. Түүнээс кодийн хэсэг өөр хэсэгт хэрэг болоход түүнийг хуулан тавих арга бол муу аргачлал гэдэг нь тайлбаргүйгээр ойлгомжтой. Иймээс төслийн янз бүрийн хэсгийн кодчлолд олон удаа ашиглагдах хэсгийг функц байдлаар тодорхойлон ашиглах нь цэвэр код бичих, ажиллагаануудын үүргийн хувиарлалт тэр ч бүү хэл багийн гишүүдийн үүргийг хувиарлахад ашиг тустай.

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

Эхлэн суралцагчдад Python -ий ямар хувилбараас эхлэх асуудал үүсдэг. Python 2 -ийг 2020 оноос эхлэн хөгжүүлэлтийг зогсоосон тул Python 3 -ийг суралцах сууриар авах нь зөв. Python хэлний нэг онцлог шинэ хувилбар өмнөх хувилбараа дэмждэггүйд оршино.  Хувилбаруудын суурь маш төстэй ч Python 3Python 2 -ийн зарим нэгэн асуудлыг шийдвэрлэсэн тул энэ хэсэгт хувилбарууд тохирохгүй. 2020 оноос Python 2 -ийн хөгжүүлэлт зогсож байгаа хэдий ч хувилбар бүрмөсөн байхгүй болохгүй нь ойлгомжтой. Хувилбаруудын суурь маш төстэй тул та Python 3 -ийг сурснаар Python 2 -ийн кодийг төвөггүй ойлгоно. Python 3 -ын бас нэгэн давуу нь хувилбар анхдагчаар Unicode -ийг дэмждэг болсон нь тэмдэгтийн кодчлолд гардаг олон хүндрэлүүдийг шийдсэн.

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

Классын шинжүүдтэй хамааралтай тогтмол, хамгаалагдсан болон дотоод арибутуудын талаар үзэх шаардлагатай. Эдгээрийг Шинж, аргууд хичээлд үүсгэсэн Character класст багахан өөрчлөлт хийн

авч үзье.

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

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

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

тэнцэтгэл бишийг бод.

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

 

тэгшитгэлийг бод.

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

 

Зөв гурвалжны талуудыг гурван тэнцүү хэсгүүдэд хуваагаад тохирох хуваалтын цэгүүдийг нэг чиглэлд холбоход үүсэх зөв гурвалжинд 6 см -ийн радиустай тойргийг багтаажээ. Гурвалжингуудын талуудыг тодорхойл.

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