[{"channel_id":1496092873,"post_id":4095,"date":1781955017000,"views":"67","text":"<b>\ud83d\ude80 \u041f\u043e\u0434\u0431\u043e\u0440\u043a\u0430 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445 IT \u043a\u0430\u043d\u0430\u043b\u043e\u0432 \u0432 Max<br><\/b><br><br><b>\u0421\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0435 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, DevOps \ud83d\udccc<\/b><br><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/i_odmin\">https:\/\/max.ru\/i_odmin<\/a> \u0412\u0441\u0435 \u0434\u043b\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0433\u043e \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430<br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/bash_srv\">https:\/\/max.ru\/bash_srv<\/a> Bash \u0421\u043e\u0432\u0435\u0442\u044b<br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/sysadminof\">https:\/\/max.ru\/sysadminof<\/a> \u041a\u043d\u0438\u0433\u0438 \u0434\u043b\u044f \u0430\u0434\u043c\u0438\u043d\u043e\u0432, \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b<br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/i_odmin_book\">https:\/\/max.ru\/i_odmin_book<\/a> \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0421\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0433\u043e \u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430<br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/i_devops\">https:\/\/max.ru\/i_devops<\/a> DevOps: \u041f\u0438\u0448\u0435\u043c \u043e Docker, Kubernetes \u0438 \u0434\u0440.<br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/tipsysdmin\">https:\/\/max.ru\/tipsysdmin<\/a> \u0422\u0438\u043f\u0438\u0447\u043d\u044b\u0439 \u0421\u0438\u0441\u0430\u0434\u043c\u0438\u043d<br><br><b>Excel \u043b\u0430\u0439\u0444\u0445\u0430\u043a \ud83d\udccc<\/b><br><a href=\"https:\/\/t.me\/Excel_lifehack\" target=\"_blank\" rel=\"noreferrer nofollow\">https:\/\/t.me\/Excel_lifehack<\/a> Excel \u043b\u0430\u0439\u0444\u0445\u0430\u043a <br><br><b>\u0410\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438\u0439 \u0441 \u043d\u0443\u043b\u044f \ud83c\uddec\ud83c\udde7<\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/UchuEnglish\">https:\/\/max.ru\/UchuEnglish<\/a><br><br><b>1C \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \ud83d\udccc<\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/odin1c_rus\">https:\/\/max.ru\/odin1c_rus<\/a> C\u0442\u0430\u0442\u044c\u0438, \u043a\u0443\u0440\u0441\u044b, \u0441\u043e\u0432\u0435\u0442\u044b, \u0448\u0430\u0431\u043b\u043e\u043d\u044b \u043a\u043e\u0434\u0430 1\u0421<br><br><b>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 C++\ud83d\udccc<\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/cpp_lib\">https:\/\/max.ru\/cpp_lib<\/a> \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 C\/C++ \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430<br><br><b>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 Go\ud83d\udccc<\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/golang_lib\">https:\/\/max.ru\/golang_lib<\/a> \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 Go (Golang) \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430<br><br><b>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 React\ud83d\udccc<\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/react_lib\">https:\/\/max.ru\/react_lib<\/a> React<br><br><b>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 Python \ud83d\udccc<\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/python_of\">https:\/\/max.ru\/python_of<\/a> Python \u0430\u043a\u0430\u0434\u0435\u043c\u0438\u044f. <br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/BookPython\">https:\/\/max.ru\/BookPython<\/a> \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 Python \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430<br><br><b>Java \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \ud83d\udccc<\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/bookjava\">https:\/\/max.ru\/bookjava<\/a> \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 Java \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430<br><br><b>GitHub \u0421\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \ud83d\udccc<\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/githublib\">https:\/\/max.ru\/githublib<\/a> \u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435 \u0438\u0437 GitHub<br><br><b>\u0411\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 (Data Base) \ud83d\udccc<\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/database_info\">https:\/\/max.ru\/database_info<\/a> \u0412\u0441\u0435 \u043f\u0440\u043e \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445<br><br><b>\u0424\u0440\u043e\u043d\u0442\u0435\u043d\u0434 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \ud83d\udccc<\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/frontend_1\">https:\/\/max.ru\/frontend_1<\/a> \u041f\u043e\u0434\u0431\u043e\u0440\u043a\u0438 \u0434\u043b\u044f frontend \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432<br><br><b>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \ud83d\udccc<\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/programmist_of\">https:\/\/max.ru\/programmist_of<\/a> \u041a\u043d\u0438\u0433\u0438 \u043f\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e<br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/proglb\">https:\/\/max.ru\/proglb<\/a> \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430<br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/bfbook\">https:\/\/max.ru\/bfbook<\/a> \u041a\u043d\u0438\u0433\u0438 \u0434\u043b\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432<br><br><b>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \ud83d\udccc<\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/bookflow\">https:\/\/max.ru\/bookflow<\/a> \u041b\u0435\u043a\u0446\u0438\u0438, \u0432\u0438\u0434\u0435\u043e\u0443\u0440\u043e\u043a\u0438, \u0434\u043e\u043a\u043b\u0430\u0434\u044b \u0441 IT \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0439<br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/itmozg\">https:\/\/max.ru\/itmozg<\/a> \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u044b, \u0434\u0438\u0437\u0430\u0439\u043d\u0435\u0440\u044b, \u043d\u043e\u0432\u043e\u0441\u0442\u0438 \u0438\u0437 \u043c\u0438\u0440\u0430 IT<br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/php_lib\">https:\/\/max.ru\/php_lib<\/a>    \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 PHP \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430 \ud83d\udc68\ud83c\udffc\u200d\ud83d\udcbb\ud83d\udc69\u200d\ud83d\udcbb<br><br><b>\u0428\u0443\u0442\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432 \ud83d\udccc<\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/itumor\">https:\/\/max.ru\/itumor<\/a> \u0428\u0443\u0442\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432<br><br><b>\u0417\u0430\u0449\u0438\u0442\u0430, \u0432\u0437\u043b\u043e\u043c, \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \ud83d\udccc<\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/thehaking\">https:\/\/max.ru\/thehaking<\/a> \u041a\u0430\u043d\u0430\u043b \u043e \u043a\u0438\u0431\u0435\u0440\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438<br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/xakkep_1\">https:\/\/max.ru\/xakkep_1<\/a> \u0425\u0430\u043a\u0435\u0440 Free<br><br><b>\u041a\u043d\u0438\u0433\u0438, \u0441\u0442\u0430\u0442\u044c\u0438 \u0434\u043b\u044f \u0434\u0438\u0437\u0430\u0439\u043d\u0435\u0440\u043e\u0432 \ud83d\udccc<\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/odesigners\">https:\/\/max.ru\/odesigners<\/a> \u0421\u0442\u0430\u0442\u044c\u0438, \u043a\u043d\u0438\u0433\u0438 \u0434\u043b\u044f \u0434\u0438\u0437\u0430\u0439\u043d\u0435\u0440\u043e\u0432<br><br><b>\u041c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0430 \ud83d\udccc<\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/Pomatematike\">https:\/\/max.ru\/Pomatematike<\/a> \u041a\u0430\u043d\u0430\u043b \u043f\u043e \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0435<br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/phismat_1\">https:\/\/max.ru\/phismat_1<\/a> \u041e\u0431\u0443\u0447\u0430\u044e\u0449\u0438\u0435 \u0432\u0438\u0434\u0435\u043e, \u043a\u043d\u0438\u0433\u0438 \u043f\u043e \u0424\u0438\u0437\u0438\u043a\u0435 \u0438 \u041c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0435<br><br><b>\u0412\u0430\u043a\u0430\u043d\u0441\u0438\u0438 \ud83d\udccc <\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/progjob\">https:\/\/max.ru\/progjob<\/a> \u0412\u0430\u043a\u0430\u043d\u0441\u0438\u0438 \u0432 IT<br><br><b>\u041c\u0438\u0440 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \ud83d\udccc <\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/mir_teh\">https:\/\/max.ru\/mir_teh<\/a> \u041a\u0430\u043d\u0430\u043b \u0434\u043b\u044f \u043b\u044e\u0431\u043e\u0437\u043d\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445<br><br><b>\u0411\u043e\u043d\u0443\u0441 \ud83d\udccc <\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/piterspb_78\">https:\/\/max.ru\/piterspb_78<\/a> \u0421\u0432\u0435\u0436\u0438\u0435 \u043d\u043e\u0432\u043e\u0441\u0442\u0438 \u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433\u0430<br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/mockva_life\">https:\/\/max.ru\/mockva_life<\/a> \u0421\u0432\u0435\u0436\u0438\u0435 \u043d\u043e\u0432\u043e\u0441\u0442\u0438 \u041c\u043e\u0441\u043a\u0432\u044b<br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/piterspb\">https:\/\/max.ru\/piterspb<\/a> \u041f\u0438\u0442\u0435\u0440 \u041d\u043e\u0432\u043e\u0441\u0442\u0438: \u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433 \/ \u0421\u041f\u0411 \/ \u0414\u0422\u041f","text_length":2353,"media":{"root":"\/003\/_w8AAMmQLFkAAAAA00fEJKFDW-A","webpage":{"url":"https:\/\/max.ru\/i_odmin","type":"article","title":"\u0421\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440 | Sysadmin Windows & Linux Server. \u2026","site_name":"MAX","display_url":"max.ru\/i_odmin","description":"\u041a\u0443\u043f\u0438\u0442\u044c \u0440\u0435\u043a\u043b\u0430\u043c\u0443: https:\/\/telega.in\/m\/i_odmin\n\n\u0411\u043b\u043e\u0433 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0443\u044e\u0449\u0435\u0433\u043e \u0430\u0434\u043c\u0438\u043d\u0430. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Windows Server, Active Directory (AD), GPO \u0438 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 (RDP). \u0420\u0430\u0431\u2026","thumbs":{"m":{"w":190,"h":190,"hash":"owAgROvOH-iYwYxH76IsbQ&ts=1782049428"},"i":{"bytes":"AoACg|C4B5L715hPXFUby4dJHit9wUntjmryjAOw+ZEeq9xVOCwiu3uG5UB9qMDyMdauTMoJf1\/Wxnrd3EZCl2+U\/dbtWpY3Bmje4kwXXj8aR9I8yYM8xK4AJxyT\/wDqpbu2S0+zywAgLIFK9jnvUpltJlhSIU8x+ZW6A0UAgNk\/PP6DoKK0MdegoQg58lkPqrU2NxaiULG7ksZG4x1pRsbOwSSn1JwKSCVFn2NwcEptyc+o9+gqZFw3JRdZAHlSbz0TH9elQSyi5gVXiZckMMnAwCM1P9oXJ\/cTY3fe2fr60yWdTcpHHkuy5bsQO3X\/ADxUo0ewxX28CVUHoozRTssWOxlY\/wB11ANFaaHPr\/Vxcl03P8kI\/hHeo5IzIiMh2S5\/c\/7PrRRQ1oNPqVt94bhZPs5IIxt8z5S3rjNTxRkAyzEFpDiRh\/CR0ooqUtS3JtErY3bJuG\/hkHeiiiqS0Mpy5Xax\/9k="}}}}},{"channel_id":1496092873,"post_id":4094,"date":1781769191000,"forwards":"2","views":"166","text":"Python \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u043c\u043d\u043e\u0433\u0438\u0435 \u0440\u0430\u0437\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b, \u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u0441\u0434\u0432\u0438\u0433\u0430 \u2014 \u043e\u0434\u0438\u043d \u0438\u0437 \u043d\u0438\u0445.<br>\u0412\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u044d\u0442\u043e\u0433\u043e \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430. \u0417\u0434\u0435\u0441\u044c \u0441\u0438\u043c\u0432\u043e\u043b\u044b, \u043f\u043e\u0445\u043e\u0436\u0438\u0435 \u043d\u0430 \u0441\u0442\u0440\u0435\u043b\u043a\u0438, \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0442\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445:<pre>from collections import deque<br>from math import sqrt<br><br><br>class Compose:<br>    def __init__(self):<br>        self._functions = deque()<br><br>    def __call__(self, *args, **kwargs):<br>        result = None<br>        for f in self._functions:<br>            result = f(*args, **kwargs)<br>            args = [result]<br>            kwargs = dict()<br>        return result<br><br>    def __rshift__(self, f):<br>        self._functions.append(f)<br>        return self<br><br>    def __lshift__(self, f):<br>        self._functions.appendleft(f)<br>        return self<br><br><br>compose = Compose<br><br><br>sqrt_abs = (compose() &lt;&lt; sqrt &lt;&lt; abs)<br>sqrt_abs2 = (compose() &gt;&gt; abs &gt;&gt; sqrt)<br><br>print(sqrt_abs(-4))   # 2.0<br>print(sqrt_abs2(-4))  # 2.0<\/pre><b>\u041e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435:<\/b><br><br> <code>&lt;&lt;<\/code> \u2014 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0432 \u043d\u0430\u0447\u0430\u043b\u043e \u0446\u0435\u043f\u043e\u0447\u043a\u0438 (\u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0432\u043e\u0439).<br> <code>&gt;&gt;<\/code> \u2014 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0432 \u043a\u043e\u043d\u0435\u0446 \u0446\u0435\u043f\u043e\u0447\u043a\u0438 (\u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439).<br> \u0412 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 <code>sqrt_abs(-4)<\/code> \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0431\u0435\u0440\u0451\u0442 <code>abs(-4) \u2192 4<\/code>, \u0430 \u0437\u0430\u0442\u0435\u043c <code>sqrt(4) \u2192 2.0<\/code>.<br> <code>sqrt_abs2(-4)<\/code> \u0434\u0435\u043b\u0430\u0435\u0442 \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435, \u043d\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u0432 \u0434\u0440\u0443\u0433\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435.<br><br><img class='tg-emoji' loading='lazy' src='https:\/\/televisor.tlgrm.dev\/emoji\/5449407131675558756\/thumb.webp?hash=A5YuOwyEbrs0OOs2sV7vsQ&ts=1782049428' alt='\ud83d\udcf2'> <a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/BookPython\"><b>\u041c\u044b \u0432 MAX<\/b><\/a><br><br>\ud83d\udc49<a href=\"\/channels\/@BookPython\" title=\"\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 Python \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 | \u041a\u043d\u0438\u0433\u0438 \u043f\u043e \u043f\u0438\u0442\u043e\u043d\u0443\">@BookPython<\/a>","text_length":1239},{"channel_id":1496092873,"post_id":4093,"date":1781629714000,"forwards":"1","views":"173","text":"\u041a\u043b\u0430\u0441\u0441 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0447\u0435\u0440\u0435\u0437 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 <code>__class__<\/code>:<pre>&gt;&gt;&gt; [1, 2].__class__<br>&lt;class &#039;list&#039;&gt;<\/pre>\u041e\u0434\u043d\u0430\u043a\u043e \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a\u043b\u0430\u0441\u0441 \u2014 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e <code>type<\/code>.<br>\u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u044d\u0442\u043e \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441\u043e \u0441\u0442\u0430\u0440\u044b\u043c\u0438 \u0441\u0442\u0438\u043b\u044f\u043c\u0438 \u043a\u043b\u0430\u0441\u0441\u043e\u0432.<pre>&gt;&gt;&gt; type([1, 2])<br>&lt;class &#039;list&#039;&gt;<\/pre>\u0415\u0441\u043b\u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438 \u043e\u0431\u044a\u0435\u043a\u0442 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u043e\u043c \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430, \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <code>isinstance<\/code>, \u0430 \u043d\u0435 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435:<pre>&gt;&gt;&gt; class A:<br>...     pass<br>...<br>&gt;&gt;&gt; class B(A):<br>...     pass<br>...<br>&gt;&gt;&gt; type(B())<br>&lt;class &#039;__main__.B&#039;&gt;<br>&gt;&gt;&gt; isinstance(B(), A)<br>True<\/pre><img class='tg-emoji' loading='lazy' src='https:\/\/televisor.tlgrm.dev\/emoji\/5449407131675558756\/thumb.webp?hash=A5YuOwyEbrs0OOs2sV7vsQ&ts=1782049428' alt='\ud83d\udcf2'> <a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/BookPython\"><b>\u041c\u044b \u0432 MAX<\/b><\/a><br><br>\ud83d\udc49<a href=\"\/channels\/@BookPython\" title=\"\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 Python \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 | \u041a\u043d\u0438\u0433\u0438 \u043f\u043e \u043f\u0438\u0442\u043e\u043d\u0443\">@BookPython<\/a>","text_length":560},{"channel_id":1496092873,"post_id":4092,"date":1781591311000,"forwards":"1","views":"162","text":"\u0412 Python \u0447\u0438\u0441\u043b\u0430 \u0441 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0435\u0439 \u0442\u043e\u0447\u043a\u043e\u0439 \u043c\u043e\u0433\u0443\u0442 \u0438\u043c\u0435\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 NaN. \u0415\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>math.nan<\/code>.<br>NaN \u043d\u0435 \u0440\u0430\u0432\u0435\u043d \u043d\u0438\u0447\u0435\u043c\u0443, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0441\u0430\u043c\u043e\u0433\u043e \u0441\u0435\u0431\u044f:<pre>&gt;&gt;&gt; math.nan == math.nan<br>False<\/pre>\u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u043e\u0431\u044a\u0435\u043a\u0442 NaN \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u043c \u2014 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437\u043d\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 NaN \u0438\u0437 \u0440\u0430\u0437\u043d\u044b\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432:<pre>&gt;&gt;&gt; float(&#039;nan&#039;)<br>nan<br>&gt;&gt;&gt; float(&#039;nan&#039;) is float(&#039;nan&#039;)<br>False<\/pre>\u042d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043e\u0431\u044b\u0447\u043d\u043e \u043d\u0435\u043b\u044c\u0437\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c NaN \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043a\u043b\u044e\u0447\u0430 \u0441\u043b\u043e\u0432\u0430\u0440\u044f:<pre>&gt;&gt;&gt; d = {}<br>&gt;&gt;&gt; d[float(&#039;nan&#039;)] = 1<br>&gt;&gt;&gt; d[float(&#039;nan&#039;)] = 2<br>&gt;&gt;&gt; d<br>{nan: 1, nan: 2}<\/pre><img class='tg-emoji' loading='lazy' src='https:\/\/televisor.tlgrm.dev\/emoji\/5449407131675558756\/thumb.webp?hash=A5YuOwyEbrs0OOs2sV7vsQ&ts=1782049428' alt='\ud83d\udcf2'> <a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/BookPython\"><b>\u041c\u044b \u0432 MAX<\/b><\/a><br><br>\ud83d\udc49<a href=\"\/channels\/@BookPython\" title=\"\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 Python \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 | \u041a\u043d\u0438\u0433\u0438 \u043f\u043e \u043f\u0438\u0442\u043e\u043d\u0443\">@BookPython<\/a>","text_length":542},{"channel_id":1496092873,"post_id":4091,"date":1781498939000,"forwards":"1","views":"114","text":"\u0412 Python <code>None<\/code> \u0440\u0430\u0432\u0435\u043d <code>None<\/code>, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u043d\u0430 <code>None<\/code> \u043c\u043e\u0436\u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 <code>==<\/code>:<pre>ES_TAILS = (&#039;s&#039;, &#039;x&#039;, &#039;z&#039;, &#039;ch&#039;, &#039;sh&#039;)<br><br>def make_plural(word, exceptions=None):<br>    if exceptions == None:  # \u2190 \u2190 \u2190<br>        exceptions = {}<br><br>    if word in exceptions:<br>        return exceptions[word]<br>    elif any(word.endswith(t) for t in ES_TAILS):<br>        return word + &#039;es&#039;<br>    elif word.endswith(&#039;y&#039;):<br>        return word[0:-1] + &#039;ies&#039;<br>    else:<br>        return word + &#039;s&#039;<br><br>exceptions = dict(<br>    mouse=&#039;mice&#039;,<br>)<br><br>print(make_plural(&#039;python&#039;))<br>print(make_plural(&#039;bash&#039;))<br>print(make_plural(&#039;ruby&#039;))<br>print(make_plural(&#039;mouse&#039;, exceptions=exceptions))<\/pre>\u041e\u0434\u043d\u0430\u043a\u043e \u0442\u0430\u043a \u0434\u0435\u043b\u0430\u0442\u044c <b>\u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e<\/b>. \u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e, <code>None<\/code> \u0440\u0430\u0432\u0435\u043d <code>None<\/code>, \u043d\u043e \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u043d \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0440\u0430\u0432\u0435\u043d <code>None<\/code>. \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0442\u043e\u0436\u0435 \u043c\u043e\u0433\u0443\u0442 \u0432\u0435\u0440\u043d\u0443\u0442\u044c <code>True<\/code> \u043f\u0440\u0438 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0438 \u0441 <code>None<\/code> \u0447\u0435\u0440\u0435\u0437 <code>==<\/code>:<pre>class A:<br>    def __eq__(self, other):<br>        return True<br><br>print(A() == None)  # True<br>print(A() is None)  # False<\/pre>\u041f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043d\u0430 <code>None<\/code> \u2014 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <code>is None<\/code>.<br><br><img class='tg-emoji' loading='lazy' src='https:\/\/televisor.tlgrm.dev\/emoji\/5449407131675558756\/thumb.webp?hash=A5YuOwyEbrs0OOs2sV7vsQ&ts=1782049428' alt='\ud83d\udcf2'> <a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/BookPython\"><b>\u041c\u044b \u0432 MAX<\/b><\/a><br><br>\ud83d\udc49<a href=\"\/channels\/@BookPython\" title=\"\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 Python \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 | \u041a\u043d\u0438\u0433\u0438 \u043f\u043e \u043f\u0438\u0442\u043e\u043d\u0443\">@BookPython<\/a>","text_length":1037},{"channel_id":1496092873,"post_id":4090,"date":1781239700000,"forwards":"2","views":"69","text":"\u0412 Python \u0440\u0430\u0437\u043d\u044b\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u044e\u0442\u0441\u044f \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438.<br><br><b>\u0421\u043f\u0438\u0441\u043a\u0438<\/b> \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 <code>+<\/code>:<pre>&gt;&gt;&gt; [1, 2] + [2, 3]<br>[1, 2, 2, 3]<\/pre><b>\u041a\u043e\u0440\u0442\u0435\u0436\u0438<\/b> \u0438 <b>\u0441\u0442\u0440\u043e\u043a\u0438<\/b> \u0442\u0430\u043a\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 <code>+<\/code>:<pre>&gt;&gt;&gt; (1, 2) + (2, 3)<br>(1, 2, 2, 3)<br><br>&gt;&gt;&gt; &quot;12&quot; + &quot;23&quot;<br>&#039;1223&#039;<\/pre><b>Deque<\/b> (\u0434\u0432\u0443\u0441\u0442\u043e\u0440\u043e\u043d\u043d\u044f\u044f \u043e\u0447\u0435\u0440\u0435\u0434\u044c) \u0442\u043e\u0436\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 <code>+<\/code>:<pre>&gt;&gt;&gt; deque([1, 2]) + deque([2, 3])<br>deque([1, 2, 2, 3])<\/pre><b>\u041c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430<\/b> \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u044e\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 <code>|<\/code>:<pre>&gt;&gt;&gt; {1, 2} | {2, 3}<br>{1, 2, 3}<\/pre><b>\u0421\u043b\u043e\u0432\u0430\u0440\u0438<\/b> \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u044e\u0442\u0441\u044f \u043f\u043e-\u0434\u0440\u0443\u0433\u043e\u043c\u0443, \u0438 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0432\u0430\u0436\u0435\u043d, \u0435\u0441\u043b\u0438 \u043a\u043b\u044e\u0447\u0438 \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u044e\u0442\u0441\u044f:<pre>&gt;&gt;&gt; {**dict(a=1, b=2), **dict(b=3, c=4)}<br>{&#039;a&#039;: 1, &#039;b&#039;: 3, &#039;c&#039;: 4}<br><br>&gt;&gt;&gt; {**dict(b=3, c=4), **dict(a=1, b=2)}<br>{&#039;b&#039;: 2, &#039;c&#039;: 4, &#039;a&#039;: 1}<\/pre><b>Counter<\/b> (\u0441\u0447\u0451\u0442\u0447\u0438\u043a) \u043c\u043e\u0436\u043d\u043e \u0441\u043b\u043e\u0436\u0438\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>+<\/code>, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441\u0443\u043c\u043c\u0438\u0440\u0443\u044e\u0442\u0441\u044f:<pre>&gt;&gt;&gt; Counter(dict(a=1, b=2)) + Counter(dict(b=3, c=4))<br>Counter({&#039;b&#039;: 5, &#039;c&#039;: 4, &#039;a&#039;: 1})<\/pre><img class='tg-emoji' loading='lazy' src='https:\/\/televisor.tlgrm.dev\/emoji\/5449407131675558756\/thumb.webp?hash=A5YuOwyEbrs0OOs2sV7vsQ&ts=1782049428' alt='\ud83d\udcf2'> <a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/BookPython\"><b>\u041c\u044b \u0432 MAX<\/b><\/a><br><br>\ud83d\udc49<a href=\"\/channels\/@BookPython\" title=\"\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 Python \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 | \u041a\u043d\u0438\u0433\u0438 \u043f\u043e \u043f\u0438\u0442\u043e\u043d\u0443\">@BookPython<\/a>","text_length":825},{"channel_id":1496092873,"post_id":4089,"date":1781153684000,"forwards":"1","views":"135","text":"\u0421\u043b\u043e\u0432\u0430\u0440\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, \u043d\u0435 \u0442\u0430\u043a\u0438\u0435 \u0436\u0435, \u043a\u0430\u043a \u0442\u0435, \u0447\u0442\u043e \u0432\u044b \u0441\u043e\u0437\u0434\u0430\u0451\u0442\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>dict<\/code>, \u0445\u043e\u0442\u044f \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u043e\u043d\u0438 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e:<pre>&gt;&gt;&gt; from sys import getsizeof<br>&gt;&gt;&gt; class A:<br>...     pass<br>... <br>&gt;&gt;&gt; a = dict()<br>&gt;&gt;&gt; b = A().__dict__<br>&gt;&gt;&gt; type(a)<br>&lt;class &#039;dict&#039;&gt;<br>&gt;&gt;&gt; type(b)<br>&lt;class &#039;dict&#039;&gt;<br>&gt;&gt;&gt; a<br>{}<br>&gt;&gt;&gt; b<br>{}<br>&gt;&gt;&gt; getsizeof(a)<br>240<br>&gt;&gt;&gt; getsizeof(b)<br>112<\/pre>\u0427\u0442\u043e\u0431\u044b \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438, \u0441\u043b\u043e\u0432\u0430\u0440\u0438 \u0434\u043b\u044f <code>__dict__<\/code> \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u0438\u043d\u0430\u0447\u0435. \u041e\u043d\u0438 <b>\u0440\u0430\u0437\u0434\u0435\u043b\u044f\u044e\u0442 \u043a\u043b\u044e\u0447\u0438<\/b> \u043c\u0435\u0436\u0434\u0443 \u0432\u0441\u0435\u043c\u0438 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430\u043c\u0438 \u043a\u043b\u0430\u0441\u0441\u0430 <code>A<\/code>. \u041e\u0434\u043d\u0430\u043a\u043e \u0432\u0430\u0436\u043d\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c, \u0447\u0442\u043e <code>b<\/code> \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u043d\u0435 \u043c\u0435\u043d\u044c\u0448\u0435, \u0447\u0435\u043c <code>a<\/code>, - \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b <code>getsizeof<\/code>.<br><br><img class='tg-emoji' loading='lazy' src='https:\/\/televisor.tlgrm.dev\/emoji\/5449407131675558756\/thumb.webp?hash=A5YuOwyEbrs0OOs2sV7vsQ&ts=1782049428' alt='\ud83d\udcf2'> <a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/BookPython\"><b>\u041c\u044b \u0432 MAX<\/b><\/a><br><br>\ud83d\udc49<a href=\"\/channels\/@BookPython\" title=\"\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 Python \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 | \u041a\u043d\u0438\u0433\u0438 \u043f\u043e \u043f\u0438\u0442\u043e\u043d\u0443\">@BookPython<\/a>","text_length":632},{"channel_id":1496092873,"post_id":4088,"date":1781068320000,"forwards":"2","views":"183","text":"\u0415\u0441\u043b\u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u0438\u0437\u043c\u0435\u0440\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u043c\u0435\u0436\u0434\u0443 \u0434\u0432\u0443\u043c\u044f \u0441\u043e\u0431\u044b\u0442\u0438\u044f\u043c\u0438, \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <b>time.monotonic()<\/b> \u0432\u043c\u0435\u0441\u0442\u043e <b>time.time()<\/b>.<br><code>time.monotonic()<\/code> \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0438\u0434\u0451\u0442 \u043d\u0430\u0437\u0430\u0434, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0447\u0430\u0441\u044b \u0431\u044b\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u044b:<pre>from contextlib import contextmanager<br>import time<br><br><br>@contextmanager<br>def timeit():<br>    start = time.monotonic()<br>    yield<br>    print(time.monotonic() - start)<br><br>def main():<br>    with timeit():<br>        time.sleep(2)<br><br>main()<\/pre><img class='tg-emoji' loading='lazy' src='https:\/\/televisor.tlgrm.dev\/emoji\/5449407131675558756\/thumb.webp?hash=A5YuOwyEbrs0OOs2sV7vsQ&ts=1782049428' alt='\ud83d\udcf2'> <a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/BookPython\"><b>\u041c\u044b \u0432 MAX<\/b><\/a><br><br>\ud83d\udc49<a href=\"\/channels\/@BookPython\" title=\"\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 Python \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 | \u041a\u043d\u0438\u0433\u0438 \u043f\u043e \u043f\u0438\u0442\u043e\u043d\u0443\">@BookPython<\/a>","text_length":440},{"channel_id":1496092873,"post_id":4087,"date":1780981839000,"forwards":"1","views":"101","text":"\u0414\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440 \u0441\u043e\u0437\u0434\u0430\u0451\u0442 \u043d\u043e\u0432\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442 (\u043e\u0431\u044b\u0447\u043d\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044e), \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430 \u0434\u0440\u0443\u0433\u0443\u044e \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e. \u041e\u0434\u043d\u0430\u043a\u043e \u0438\u043d\u043e\u0433\u0434\u0430 \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u0437\u0430\u0434\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435, \u0447\u0435\u043c \u043e\u0434\u043d\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e.<br><br>\u0421\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0438\u0437-\u0437\u0430 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0430 Python, \u043d\u043e \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0442\u0440\u044e\u043a. \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0435\u0449\u0451 \u043e\u0434\u0438\u043d \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u043a \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044f \u043d\u043e\u0432\u043e\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435. \u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 <code>@property<\/code>:<pre>@property<br>def x(self):<br>    return self._x<br><br>@x.setter<br>def x(self, value):<br>    self._x = value<\/pre>\u041d\u0438\u0436\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u043d \u043f\u0440\u0438\u043c\u0435\u0440 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043b\u044f \u043e\u0441\u043e\u0431\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u0435\u0432:<pre>from functools import wraps<br><br>def make_case_decorator(func):<br>    def case_decorator(*case_decorator_args):<br>        def decorator(special_case_func):<br>            @wraps(func)<br>            def decorated(*args):<br>                if case_decorator_args == args:<br>                    return special_case_func(*args)<br>                return func(*args)<br><br>            decorated.case = make_case_decorator(decorated)<br><br>            return decorated<br><br>        return decorator<br><br>    return case_decorator<br><br><br>def special_cases(func):<br>    @wraps(func)<br>    def decorated(*args):<br>        return func(*args)<br><br>    decorated.case = make_case_decorator(decorated)<br><br>    return decorated<br><br><br>@special_cases<br>def fact(x):<br>    return x * fact(x - 1)<br><br>@fact.case(0)<br>def fact(x):<br>    return 1<br><br>@fact.case(10)<br>def fact(x):<br>    print(f&#039;(\u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u0434\u043b\u044f {x})&#039;)<br>    return 3628800<\/pre><img class='tg-emoji' loading='lazy' src='https:\/\/televisor.tlgrm.dev\/emoji\/5449407131675558756\/thumb.webp?hash=A5YuOwyEbrs0OOs2sV7vsQ&ts=1782049428' alt='\ud83d\udcf2'> <a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/BookPython\"><b>\u041c\u044b \u0432 MAX<\/b><\/a><br><br>\ud83d\udc49<a href=\"\/channels\/@BookPython\" title=\"\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 Python \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 | \u041a\u043d\u0438\u0433\u0438 \u043f\u043e \u043f\u0438\u0442\u043e\u043d\u0443\">@BookPython<\/a>","text_length":1544},{"channel_id":1496092873,"post_id":4086,"date":1780898578000,"views":"158","text":"\u0422\u044b \u043d\u0435 \u043c\u043e\u0436\u0435\u0448\u044c \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0437\u0430\u043c\u044b\u043a\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0441\u0442\u044b\u043c \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u043d\u0438\u0435\u043c.<br>Python \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u0442 \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u043d\u0438\u0435 \u043a\u0430\u043a \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 <b>\u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439<\/b> \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0432\u043d\u0443\u0442\u0440\u0438 \u0442\u0435\u043b\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u0434\u0435\u043b\u0430\u0435\u0442 \u0437\u0430\u043c\u044b\u043a\u0430\u043d\u0438\u044f.<br><br>\u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e, \u043f\u0435\u0447\u0430\u0442\u0430\u0435\u0442 <code>2<\/code>:<pre>def make_closure(x):<br>    def closure():<br>        print(x)<br><br>    return closure<br><br>make_closure(2)()<\/pre>\u0412\u044b\u0437\u044b\u0432\u0430\u0435\u0442 <code>UnboundLocalError: local variable &#039;x&#039; referenced before assignment<\/code>:<pre>def make_closure(x):<br>    def closure():<br>        print(x)<br>        x *= 2<br>        print(x)<br><br>    return closure<br><br>make_closure(2)()<\/pre>\u0427\u0442\u043e\u0431\u044b \u044d\u0442\u043e \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e, \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <code>nonlocal<\/code>.<br>\u041e\u043d\u043e \u044f\u0432\u043d\u043e \u0441\u043e\u043e\u0431\u0449\u0430\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440\u0443, \u0447\u0442\u043e \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u043d\u0438\u0435 \u043d\u0435 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043d\u043e\u0432\u0443\u044e \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e, \u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0438\u0437 \u0437\u0430\u043c\u044b\u043a\u0430\u043d\u0438\u044f:<pre>def make_closure(x):<br>    def closure():<br>        nonlocal x<br>        print(x)<br>        x *= 2<br>        print(x)<br><br>    return closure<br><br>make_closure(2)()<\/pre><img class='tg-emoji' loading='lazy' src='https:\/\/televisor.tlgrm.dev\/emoji\/5449407131675558756\/thumb.webp?hash=A5YuOwyEbrs0OOs2sV7vsQ&ts=1782049428' alt='\ud83d\udcf2'> <a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/BookPython\"><b>\u041c\u044b \u0432 MAX<\/b><\/a><br><br>\ud83d\udc49<a href=\"\/channels\/@BookPython\" title=\"\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 Python \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 | \u041a\u043d\u0438\u0433\u0438 \u043f\u043e \u043f\u0438\u0442\u043e\u043d\u0443\">@BookPython<\/a>","text_length":885},{"channel_id":1496092873,"post_id":4085,"date":1780843766000,"views":"208","text":"<b>\ud83d\ude80 \u041f\u043e\u0434\u0431\u043e\u0440\u043a\u0430 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445 IT \u043a\u0430\u043d\u0430\u043b\u043e\u0432 \u0432 Max<\/b><br><br><br><b>\u0421\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0435 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, DevOps \ud83d\udccc<\/b><br><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/i_odmin\">https:\/\/max.ru\/i_odmin<\/a> \u0412\u0441\u0435 \u0434\u043b\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0433\u043e \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430<br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/bash_srv\">https:\/\/max.ru\/bash_srv<\/a> Bash \u0421\u043e\u0432\u0435\u0442\u044b<br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/sysadminof\">https:\/\/max.ru\/sysadminof<\/a> \u041a\u043d\u0438\u0433\u0438 \u0434\u043b\u044f \u0430\u0434\u043c\u0438\u043d\u043e\u0432, \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b<br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/i_odmin_book\">https:\/\/max.ru\/i_odmin_book<\/a> \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0421\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0433\u043e \u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430<br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/i_devops\">https:\/\/max.ru\/i_devops<\/a> DevOps: \u041f\u0438\u0448\u0435\u043c \u043e Docker, Kubernetes \u0438 \u0434\u0440.<br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/tipsysdmin\">https:\/\/max.ru\/tipsysdmin<\/a> \u0422\u0438\u043f\u0438\u0447\u043d\u044b\u0439 \u0421\u0438\u0441\u0430\u0434\u043c\u0438\u043d<br><br><b>Excel \u043b\u0430\u0439\u0444\u0445\u0430\u043a \ud83d\udccc<\/b><br><a href=\"https:\/\/t.me\/Excel_lifehack\" target=\"_blank\" rel=\"noreferrer nofollow\">https:\/\/t.me\/Excel_lifehack<\/a> Excel \u043b\u0430\u0439\u0444\u0445\u0430\u043a <br><br><b>1C \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \ud83d\udccc<\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/odin1c_rus\">https:\/\/max.ru\/odin1c_rus<\/a> C\u0442\u0430\u0442\u044c\u0438, \u043a\u0443\u0440\u0441\u044b, \u0441\u043e\u0432\u0435\u0442\u044b, \u0448\u0430\u0431\u043b\u043e\u043d\u044b \u043a\u043e\u0434\u0430 1\u0421<br><br><b>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 C++\ud83d\udccc<\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/cpp_lib\">https:\/\/max.ru\/cpp_lib<\/a> \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 C\/C++ \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430<br><br><b>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 Go\ud83d\udccc<\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/golang_lib\">https:\/\/max.ru\/golang_lib<\/a> \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 Go (Golang) \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430<br><br><b>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 React\ud83d\udccc<\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/react_lib\">https:\/\/max.ru\/react_lib<\/a> React<br><br><b>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 Python \ud83d\udccc<\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/python_of\">https:\/\/max.ru\/python_of<\/a> Python \u0430\u043a\u0430\u0434\u0435\u043c\u0438\u044f. <br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/BookPython\">https:\/\/max.ru\/BookPython<\/a> \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 Python \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430<br><br><b>Java \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \ud83d\udccc<\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/bookjava\">https:\/\/max.ru\/bookjava<\/a> \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 Java \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430<br><br><b>GitHub \u0421\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \ud83d\udccc<\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/githublib\">https:\/\/max.ru\/githublib<\/a> \u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435 \u0438\u0437 GitHub<br><br><b>\u0411\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 (Data Base) \ud83d\udccc<\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/database_info\">https:\/\/max.ru\/database_info<\/a> \u0412\u0441\u0435 \u043f\u0440\u043e \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445<br><br><b>\u0424\u0440\u043e\u043d\u0442\u0435\u043d\u0434 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \ud83d\udccc<\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/frontend_1\">https:\/\/max.ru\/frontend_1<\/a> \u041f\u043e\u0434\u0431\u043e\u0440\u043a\u0438 \u0434\u043b\u044f frontend \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432<br><br><b>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \ud83d\udccc<\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/programmist_of\">https:\/\/max.ru\/programmist_of<\/a> \u041a\u043d\u0438\u0433\u0438 \u043f\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e<br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/proglb\">https:\/\/max.ru\/proglb<\/a> \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430<br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/bfbook\">https:\/\/max.ru\/bfbook<\/a> \u041a\u043d\u0438\u0433\u0438 \u0434\u043b\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432<br><br><b>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \ud83d\udccc<\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/bookflow\">https:\/\/max.ru\/bookflow<\/a> \u041b\u0435\u043a\u0446\u0438\u0438, \u0432\u0438\u0434\u0435\u043e\u0443\u0440\u043e\u043a\u0438, \u0434\u043e\u043a\u043b\u0430\u0434\u044b \u0441 IT \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0439<br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/itmozg\">https:\/\/max.ru\/itmozg<\/a> \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u044b, \u0434\u0438\u0437\u0430\u0439\u043d\u0435\u0440\u044b, \u043d\u043e\u0432\u043e\u0441\u0442\u0438 \u0438\u0437 \u043c\u0438\u0440\u0430 IT<br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/php_lib\">https:\/\/max.ru\/php_lib<\/a>    \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 PHP \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430 \ud83d\udc68\ud83c\udffc\u200d\ud83d\udcbb\ud83d\udc69\u200d\ud83d\udcbb<br><br><b>\u0428\u0443\u0442\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432 \ud83d\udccc<\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/itumor\">https:\/\/max.ru\/itumor<\/a> \u0428\u0443\u0442\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432<br><br><b>\u0417\u0430\u0449\u0438\u0442\u0430, \u0432\u0437\u043b\u043e\u043c, \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \ud83d\udccc<\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/thehaking\">https:\/\/max.ru\/thehaking<\/a> \u041a\u0430\u043d\u0430\u043b \u043e \u043a\u0438\u0431\u0435\u0440\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438<br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/xakkep_1\">https:\/\/max.ru\/xakkep_1<\/a> \u0425\u0430\u043a\u0435\u0440 Free<br><br><b>\u041a\u043d\u0438\u0433\u0438, \u0441\u0442\u0430\u0442\u044c\u0438 \u0434\u043b\u044f \u0434\u0438\u0437\u0430\u0439\u043d\u0435\u0440\u043e\u0432 \ud83d\udccc<\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/odesigners\">https:\/\/max.ru\/odesigners<\/a> \u0421\u0442\u0430\u0442\u044c\u0438, \u043a\u043d\u0438\u0433\u0438 \u0434\u043b\u044f \u0434\u0438\u0437\u0430\u0439\u043d\u0435\u0440\u043e\u0432<br><br><b>\u041c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0430 \ud83d\udccc<\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/Pomatematike\">https:\/\/max.ru\/Pomatematike<\/a> \u041a\u0430\u043d\u0430\u043b \u043f\u043e \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0435<br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/phismat_1\">https:\/\/max.ru\/phismat_1<\/a> \u041e\u0431\u0443\u0447\u0430\u044e\u0449\u0438\u0435 \u0432\u0438\u0434\u0435\u043e, \u043a\u043d\u0438\u0433\u0438 \u043f\u043e \u0424\u0438\u0437\u0438\u043a\u0435 \u0438 \u041c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0435<br><br><b>\u0412\u0430\u043a\u0430\u043d\u0441\u0438\u0438 \ud83d\udccc <\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/progjob\">https:\/\/max.ru\/progjob<\/a> \u0412\u0430\u043a\u0430\u043d\u0441\u0438\u0438 \u0432 IT<br><br><b>\u041c\u0438\u0440 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \ud83d\udccc <\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/mir_teh\">https:\/\/max.ru\/mir_teh<\/a> \u041a\u0430\u043d\u0430\u043b \u0434\u043b\u044f \u043b\u044e\u0431\u043e\u0437\u043d\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445<br><br><br><b>\u0411\u043e\u043d\u0443\u0441 \ud83d\udccc <\/b><br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/piterspb_78\">https:\/\/max.ru\/piterspb_78<\/a> \u0421\u0432\u0435\u0436\u0438\u0435 \u043d\u043e\u0432\u043e\u0441\u0442\u0438 \u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433\u0430<br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/mockva_life\">https:\/\/max.ru\/mockva_life<\/a> \u0421\u0432\u0435\u0436\u0438\u0435 \u043d\u043e\u0432\u043e\u0441\u0442\u0438 \u041c\u043e\u0441\u043a\u0432\u044b<br><a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/piterspb\">https:\/\/max.ru\/piterspb<\/a> \u041f\u0438\u0442\u0435\u0440 \u041d\u043e\u0432\u043e\u0441\u0442\u0438: \u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433 \/ \u0421\u041f\u0411 \/ \u0414\u0422\u041f","text_length":2303,"media":{"root":"\/00c\/9Q8AAMmQLFkAAAAAagV7hMVDSPA","webpage":{"url":"https:\/\/max.ru\/i_odmin","type":"article","title":"\u0421\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440 | Sysadmin Windows & Linux Server. \u2026","site_name":"MAX","display_url":"max.ru\/i_odmin","description":"\u041a\u0443\u043f\u0438\u0442\u044c \u0440\u0435\u043a\u043b\u0430\u043c\u0443: https:\/\/telega.in\/m\/i_odmin\n\n\u0411\u043b\u043e\u0433 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0443\u044e\u0449\u0435\u0433\u043e \u0430\u0434\u043c\u0438\u043d\u0430. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Windows Server, Active Directory (AD), GPO \u0438 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 (RDP). \u0420\u0430\u0431\u2026","thumbs":{"m":{"w":190,"h":190,"hash":"OYoz32uqH0FUpMnlZVY9_g&ts=1782049428"},"i":{"bytes":"AoACg|C4B5L715hPXFUby4dJHit9wUntjmryjAOw+ZEeq9xVOCwiu3uG5UB9qMDyMdauTMoJf1\/Wxnrd3EZCl2+U\/dbtWpY3Bmje4kwXXj8aR9I8yYM8xK4AJxyT\/wDqpbu2S0+zywAgLIFK9jnvUpltJlhSIU8x+ZW6A0UAgNk\/PP6DoKK0MdegoQg58lkPqrU2NxaiULG7ksZG4x1pRsbOwSSn1JwKSCVFn2NwcEptyc+o9+gqZFw3JRdZAHlSbz0TH9elQSyi5gVXiZckMMnAwCM1P9oXJ\/cTY3fe2fr60yWdTcpHHkuy5bsQO3X\/ADxUo0ewxX28CVUHoozRTssWOxlY\/wB11ANFaaHPr\/Vxcl03P8kI\/hHeo5IzIiMh2S5\/c\/7PrRRQ1oNPqVt94bhZPs5IIxt8z5S3rjNTxRkAyzEFpDiRh\/CR0ooqUtS3JtErY3bJuG\/hkHeiiiqS0Mpy5Xax\/9k="}}}}},{"channel_id":1496092873,"post_id":4084,"date":1780637719000,"forwards":"1","views":"121","text":"\u041b\u044e\u0431\u0430\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0449\u0430\u044f\u0441\u044f \u043a\u043e\u0440\u0443\u0442\u0438\u043d\u0430 asyncio \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0442\u043c\u0435\u043d\u0435\u043d\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u0435\u0442\u043e\u0434\u0430 <b>cancel()<\/b>. \u0412 \u043a\u043e\u0440\u0443\u0442\u0438\u043d\u0443 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0431\u0440\u043e\u0448\u0435\u043d\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 <b>CancelledError<\/b>, \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u0442 \u043a \u0435\u0451 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044e, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044e \u0432\u0441\u0435\u0445 \u043e\u0431\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u044e\u0449\u0438\u0445 \u0435\u0451 \u043a\u043e\u0440\u0443\u0442\u0438\u043d, \u0435\u0441\u043b\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0448\u0438\u0431\u043a\u0430 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0447\u0435\u043d\u0430 \u0438 \u043f\u043e\u0434\u0430\u0432\u043b\u0435\u043d\u0430.<br><br><b>CancelledError<\/b> \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434\u043a\u043b\u0430\u0441\u0441\u043e\u043c <b>Exception<\/b>, \u0430 \u0437\u043d\u0430\u0447\u0438\u0442, \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u0438\u0442\u044c \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0435\u0439 <code>try ... except Exception<\/code>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0430 \u0434\u043b\u044f \u043e\u0442\u043b\u043e\u0432\u0430 \u00ab\u043b\u044e\u0431\u044b\u0445 \u043e\u0448\u0438\u0431\u043e\u043a\u00bb. \u0427\u0442\u043e\u0431\u044b \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e \u044d\u0442\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432\u043d\u0443\u0442\u0440\u0438 \u043a\u043e\u0440\u0443\u0442\u0438\u043d\u044b, \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a:<pre>try:<br>    await action()<br>except asyncio.CancelledError:<br>    raise<br>except Exception:<br>    logging.exception(&#039;action failed&#039;)<\/pre><img class='tg-emoji' loading='lazy' src='https:\/\/televisor.tlgrm.dev\/emoji\/5449407131675558756\/thumb.webp?hash=A5YuOwyEbrs0OOs2sV7vsQ&ts=1782049428' alt='\ud83d\udcf2'> <a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/BookPython\"><b>\u041c\u044b \u0432 MAX<\/b><\/a><br><br>\ud83d\udc49<a href=\"\/channels\/@BookPython\" title=\"\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 Python \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 | \u041a\u043d\u0438\u0433\u0438 \u043f\u043e \u043f\u0438\u0442\u043e\u043d\u0443\">@BookPython<\/a>","text_length":679},{"channel_id":1496092873,"post_id":4083,"date":1780465985000,"forwards":"2","views":"108","text":"\u0423\u0441\u043b\u043e\u0432\u043d\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u043e\u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430 \u043e\u0431\u044b\u0447\u043d\u043e \u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0435\u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430: \u043d\u0435\u043b\u044c\u0437\u044f \u043f\u0440\u043e\u0441\u0442\u043e \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442\u044c <code>with<\/code> \u0432\u043d\u0443\u0442\u0440\u0438 \u0431\u043b\u043e\u043a\u0430 <code>if<\/code>, \u043d\u0435 \u0437\u0430\u043a\u043b\u044e\u0447\u0438\u0432 \u0442\u0443\u0434\u0430 \u0432\u0435\u0441\u044c \u0431\u043b\u043e\u043a <code>with<\/code>. \u042d\u0442\u043e \u0447\u0430\u0441\u0442\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u0434\u0443\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u043a\u043e\u0434\u0430:<pre>def print_whole_file(<br>    *,<br>    path: Optional[str] = None,<br>    file_obj: Optional[TextIO] = None<br>):<br>    assert path or file_obj<br><br>    if path:<br>        with open(path) as f:<br>            print(f.read(), end=&#039;&#039;)<br>    else:<br>        print(file_obj.read(), end=&#039;&#039;)<\/pre>\u0421\u043f\u043e\u0441\u043e\u0431 \u0431\u043e\u0440\u044c\u0431\u044b \u0441 \u044d\u0442\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043e\u0439 \u2014 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <code>ExitStack<\/code> \u0438 \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c <code>enter_context<\/code> \u0432\u043d\u0443\u0442\u0440\u0438 <code>if<\/code>:<pre>def print_whole_file(<br>    *,<br>    path: Optional[str] = None,<br>    file_obj: Optional[TextIO] = None<br>):<br>    assert path or file_obj<br><br>    with ExitStack() as stack:<br>        if path:<br>            file_obj = stack.enter_context(<br>                open(path)<br>            )<br><br>        print(file_obj.read(), end=&#039;&#039;)<\/pre>\u041e\u0434\u043d\u0430\u043a\u043e \u0431\u043e\u043b\u0435\u0435 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0434\u043e\u0441\u0442\u0438\u0447\u044c \u0442\u043e\u0433\u043e \u0436\u0435 \u2014 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u0440\u0438\u0432\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u044b \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0434\u0435\u043b\u0430\u044e\u0442, \u043a\u043e\u0433\u0434\u0430 \u043e\u043d\u0438 \u043d\u0435 \u043d\u0443\u0436\u043d\u044b, \u0432\u043c\u0435\u0441\u0442\u043e \u00ab\u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0445\u00bb. \u041d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 Python 3.7, \u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>contextlib.nullcontext<\/code>:<pre>def print_whole_file(<br>    *,<br>    path: Optional[str] = None,<br>    file_obj: Optional[TextIO] = None<br>):<br>    assert path or file_obj<br><br>    if path:<br>        context = open(path)<br>    else:<br>        context = nullcontext(file_obj)<br><br>    with context as f:<br>        print(f.read(), end=&#039;&#039;)<\/pre><img class='tg-emoji' loading='lazy' src='https:\/\/televisor.tlgrm.dev\/emoji\/5449407131675558756\/thumb.webp?hash=A5YuOwyEbrs0OOs2sV7vsQ&ts=1782049428' alt='\ud83d\udcf2'> <a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/BookPython\"><b>\u041c\u044b \u0432 MAX<\/b><\/a><br><br>\ud83d\udc49<a href=\"\/channels\/@BookPython\" title=\"\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 Python \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 | \u041a\u043d\u0438\u0433\u0438 \u043f\u043e \u043f\u0438\u0442\u043e\u043d\u0443\">@BookPython<\/a>","text_length":1400},{"channel_id":1496092873,"post_id":4082,"date":1780377611000,"forwards":"3","views":"214","text":"\u0412 Python \u0444\u0443\u043d\u043a\u0446\u0438\u044f <b>range()<\/b> \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0432\u0441\u0435 \u0446\u0435\u043b\u044b\u0435 \u0447\u0438\u0441\u043b\u0430 \u0432 \u043f\u043e\u043b\u0443\u043e\u0442\u043a\u0440\u044b\u0442\u043e\u043c \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0435.<br>\u0422\u043e \u0435\u0441\u0442\u044c <code>range(2, 10)<\/code> \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 <b>[2, 10)<\/b>,<br>\u0438\u043b\u0438, \u0433\u043e\u0432\u043e\u0440\u044f \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Python: <b>[2, 3, 4, 5, 6, 7, 8, 9]<\/b>.<br><br>\u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0430\u0441\u0438\u043c\u043c\u0435\u0442\u0440\u0438\u044e, \u044d\u0442\u043e \u043d\u0435 \u043e\u0448\u0438\u0431\u043a\u0430 \u0438 \u043d\u0435 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0441\u0442\u044c.<br>\u0412 \u044d\u0442\u043e\u043c \u0435\u0441\u0442\u044c \u043b\u043e\u0433\u0438\u043a\u0430: \u0442\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 &quot;\u0441\u043a\u043b\u0435\u0438\u0432\u0430\u0442\u044c&quot; \u0434\u0432\u0430 \u0441\u043e\u0441\u0435\u0434\u043d\u0438\u0445 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0430 \u0431\u0435\u0437 \u0440\u0438\u0441\u043a\u0430 \u043e\u0448\u0438\u0431\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u0435\u0434\u0438\u043d\u0438\u0446\u0443:<br><br><b>[a, c) = [a, b) + [b, c)<\/b><br><br>\u0414\u043b\u044f \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f, \u0435\u0441\u043b\u0438 \u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u0437\u0430\u043a\u0440\u044b\u0442\u044b\u0435 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u044b, \u043f\u043e\u043b\u0443\u0447\u0430\u043b\u043e\u0441\u044c \u0431\u044b \u0442\u0430\u043a:<br><br><b>[a, c] = [a, b] + [b+1, c]<\/b><br><br>\u042d\u0442\u0430 \u0436\u0435 \u0438\u0434\u0435\u044f \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0435\u0442, \u043f\u043e\u0447\u0435\u043c\u0443 \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u0446\u0438\u044f \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u043d\u0443\u043b\u044f:<br><b>[0, N)<\/b> \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0440\u043e\u0432\u043d\u043e <b>N<\/b> \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432.<br><br>\u042d\u0434\u0441\u0433\u0435\u0440 \u0414\u0435\u0439\u043a\u0441\u0442\u0440\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u043d\u0430 \u044d\u0442\u0443 \u0442\u0435\u043c\u0443 \u043e\u0442\u043b\u0438\u0447\u043d\u0443\u044e <a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/www.cs.utexas.edu\/~EWD\/transcriptions\/EWD08xx\/EWD831.html\">\u0441\u0442\u0430\u0442\u044c\u044e<\/a> \u0435\u0449\u0451 \u0432 1982 \u0433\u043e\u0434\u0443.<br><br><img class='tg-emoji' loading='lazy' src='https:\/\/televisor.tlgrm.dev\/emoji\/5449407131675558756\/thumb.webp?hash=A5YuOwyEbrs0OOs2sV7vsQ&ts=1782049428' alt='\ud83d\udcf2'> <a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/BookPython\"><b>\u041c\u044b \u0432 MAX<\/b><\/a><br><br>\ud83d\udc49<a href=\"\/channels\/@BookPython\" title=\"\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 Python \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 | \u041a\u043d\u0438\u0433\u0438 \u043f\u043e \u043f\u0438\u0442\u043e\u043d\u0443\">@BookPython<\/a>","text_length":678},{"channel_id":1496092873,"post_id":4081,"date":1780290644000,"forwards":"1","views":"86","text":"\u0412 \u0441\u043f\u0438\u0441\u043a\u043e\u0432\u044b\u0445 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f\u0445 (list comprehensions) \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u0446\u0438\u043a\u043b\u0430 <code>for<\/code> \u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u044f <code>if<\/code>:<pre>In : [(x, y) for x in range(3) for y in range(3)]<br>Out: [<br>    (0, 0), (0, 1), (0, 2),<br>    (1, 0), (1, 1), (1, 2),<br>    (2, 0), (2, 1), (2, 2)<br>]<\/pre><pre>In : [<br>    (x, y)<br>    for x in range(3)<br>    for y in range(3)<br>    if x != 0<br>    if y != 0<br>]<br>Out: [(1, 1), (1, 2), (2, 1), (2, 2)]<\/pre>\u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u043b\u044e\u0431\u043e\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0432\u043d\u0443\u0442\u0440\u0438 <code>for<\/code> \u0438 <code>if<\/code> \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u044b \u0440\u0430\u043d\u0435\u0435:<pre>In : [<br>    (x, y)<br>    for x in range(3)<br>    for y in range(x + 2)<br>    if x != y<br>]<br>Out: [<br>    (0, 1),<br>    (1, 0), (1, 2),<br>    (2, 0), (2, 1), (2, 3)<br>]<\/pre>\u041c\u043e\u0436\u043d\u043e \u0441\u043c\u0435\u0448\u0438\u0432\u0430\u0442\u044c <code>if<\/code> \u0438 <code>for<\/code> \u0432 \u043b\u044e\u0431\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435:<pre>In : [<br>    (x, y)<br>    for x in range(5)<br>    if x % 2<br>    for y in range(x + 2)<br>    if x != y<br>]<br>Out: [<br>    (1, 0), (1, 2),<br>    (3, 0), (3, 1), (3, 2), (3, 4)<br>]<\/pre><img class='tg-emoji' loading='lazy' src='https:\/\/televisor.tlgrm.dev\/emoji\/5449407131675558756\/thumb.webp?hash=A5YuOwyEbrs0OOs2sV7vsQ&ts=1782049428' alt='\ud83d\udcf2'> <a target=\"_blank\" rel=\"noreferrer nofollow\" href=\"https:\/\/max.ru\/BookPython\"><b>\u041c\u044b \u0432 MAX<\/b><\/a><br><br>\ud83d\udc49<a href=\"\/channels\/@BookPython\" title=\"\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 Python \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 | \u041a\u043d\u0438\u0433\u0438 \u043f\u043e \u043f\u0438\u0442\u043e\u043d\u0443\">@BookPython<\/a>","text_length":868}]