ืฉื—ืจื•ืจ ืฉืœ Brython 3.9, ื”ื˜ืžืขื•ืช ืฉืœ ืฉืคืช Python ืขื‘ื•ืจ ื“ืคื“ืคื ื™ ืื™ื ื˜ืจื ื˜

ื™ืฆื ืœืื•ืจ ืฉื—ืจื•ืจ ื”ืคืจื•ื™ืงื˜ ื‘ืจื™ื™ืชื•ืŸ 3.9 (Browser Python) ืขื ื™ื™ืฉื•ื ืฉืœ ืฉืคืช ื”ืชื›ื ื•ืช Python 3 ืœื‘ื™ืฆื•ืข ื‘ืฆื“ ื“ืคื“ืคืŸ ื”ืื™ื ื˜ืจื ื˜, ื”ืžืืคืฉืจ ืœืš ืœื”ืฉืชืžืฉ ื‘-Python ื‘ืžืงื•ื ื‘-JavaScript ืœืคื™ืชื•ื— ืกืงืจื™ืคื˜ื™ื ืœืจืฉืช. ืงื•ื“ ื”ืคืจื•ื™ืงื˜ ื›ืชื•ื‘ ื‘- Python ื• ืžื•ืคืฅ ืขืœ ื™ื“ื™ ืชื—ืช ืจื™ืฉื™ื•ืŸ BSD. ื”ืžื”ื“ื•ืจื” ื”ื—ื“ืฉื” ื‘ื•ืœื˜ืช ื‘ืชืื™ืžื•ืช ืฉืœื” ืขื ืคื™ื™ืชื•ืŸ 3.9 ื•ืขื“ื›ื•ืŸ ื”ืกืคืจื™ื™ื” ื”ืกื˜ื ื“ืจื˜ื™ืช.

ื—ื™ื‘ื•ืจ ืกืคืจื™ื•ืช brython.js ะธ brython_stdlib.js, ืžืคืชื— ืืชืจื™ื ื™ื›ื•ืœ ืฉื™ืžื•ืฉ ืฉืคืช Python ืœื”ื’ื“ืจืช ื”ืœื•ื’ื™ืงื” ืฉืœ ื”ืืชืจ ื‘ืฆื“ ื”ืœืงื•ื—, ื‘ืืžืฆืขื•ืช Python ื‘ืžืงื•ื JavaScript. ื›ื“ื™ ืœื›ืœื•ืœ ืงื•ื“ Python ื‘ื“ืคื™ื, ื”ืฉืชืžืฉ ื‘ืชื’ ั mime-ั‚ะธะฟะพะผ ยซtext/pythonยป. ะ”ะพะฟัƒัะบะฐะตั‚ัั ะบะฐะบ ะฒัั‚ั€ะฐะธะฒะฐะฝะธะต ะบะพะดะฐ ะฝะฐ ัั‚ั€ะฐะฝะธั†ัƒ, ั‚ะฐะบ ะธ ะทะฐะณั€ัƒะทะบะฐ ะฒะฝะตัˆะฝะธั… ัะบั€ะธะฟั‚ะพะฒ (). ะ˜ะท ัะบั€ะธะฟั‚ะฐ ะฟั€ะตะดะพัั‚ะฐะฒะปัะตั‚ัั ะฟะพะปะฝั‹ะน ะดะพัั‚ัƒะฟ ะบ ัะปะตะผะตะฝั‚ะฐะผ ะธ ัะพะฑั‹ั‚ะธัะผ DOM.
ื‘ื ื•ืกืฃ ืœื’ื™ืฉื” ืœืกืคืจื™ื™ื” ื”ืกื˜ื ื“ืจื˜ื™ืช ืฉืœ Python, ื”ื™ื ืžืฆื™ืขื” ืกืคืจื™ื•ืช ืžื™ื•ื—ื“ื•ืช ืœืื™ื ื˜ืจืืงืฆื™ื” ืขื ืกืคืจื™ื•ืช DOM ื•-JavaScript ื›ืžื• jQuery, D3, Highcharts ื•-Raphael. ื”ืฉื™ืžื•ืฉ ื‘ืžืกื’ืจื•ืช CSS Bootstrap3, LESS ื•-SASS ื ืชืžืš.

ื‘ื™ืฆื•ืข ืงื•ื“ Python ืžื‘ืœื•ืงื™ื ะฟั€ะพะธะทะฒะพะดะธั‚ัั ั‡ะตั€ะตะท ะฟั€ะตะดะฒะฐั€ะธั‚ะตะปัŒะฝัƒัŽ ะบะพะผะฟะธะปัั†ะธัŽ ัั‚ะพะณะพ ะบะพะณะดะฐ, ะฒั‹ะฟะพะปะฝัะตะผัƒัŽ ะพะฑั€ะฐะฑะพั‚ั‡ะธะบะพะผ Brython ะฟะพัะปะต ะทะฐะณั€ัƒะทะบะธ ัั‚ั€ะฐะฝะธั†ั‹. ะšะพะผะฟะธะปัั†ะธั ะธะฝะธั†ะธะธั€ัƒะตั‚ัั ะฟั€ะธ ะฟะพะผะพั‰ะธ ะฒั‹ะทะพะฒะฐ ั„ัƒะฝะบั†ะธะธ brython(), ะฝะฐะฟั€ะธะผะตั€ ั‡ะตั€ะตะท ะดะพะฑะฐะฒะปะตะฝะธะต ยซยป. ะะฐ ะพัะฝะพะฒะต Python ะบะพะดะฐ ั„ะพั€ะผะธั€ัƒะตั‚ัั ะฟั€ะตะดัั‚ะฐะฒะปะตะฝะธะต ะฝะฐ ัะทั‹ะบะต JavaScript, ะบะพั‚ะพั€ะพะต ะทะฐั‚ะตะผ ะฒั‹ะฟะพะปะฝัะตั‚ัั ัˆั‚ะฐั‚ะฝั‹ะผ JavaScript-ะดะฒะธะถะบะพะผ ะฑั€ะฐัƒะทะตั€ะฐ (ะดะปั ัั€ะฐะฒะฝะตะฝะธั, ะฟั€ะพะตะบั‚ PyPy.js ืžืฆื™ืข ืžืชื•ืจื’ืžืŸ CPython ื”ื™ื“ื•ืจ ื‘-asm.js ืœื‘ื™ืฆื•ืข ืงื•ื“ Python ื‘ื“ืคื“ืคืŸ, ื•ื›ืŸ ืคืกืœ ืžื™ื™ืฉืžืช ืžืชื•ืจื’ืžืŸ ื‘-JavaScript).

ื‘ื™ืฆื•ืขื™ื ื›ืœืœื™ื™ื ืฉืœ ืจื•ื‘ ื”ืคืขื•ืœื•ืช ื‘ืกืงืจื™ืคื˜ื™ื ืฉืœ Python ื”ืžื•ื˜ืžืขื™ื ื‘ื“ืคื™ ืื™ื ื˜ืจื ื˜ ืกื’ื•ืจ ืœื‘ื™ืฆื•ืขื™ CPython. ื”ืขื™ื›ื•ื‘ ืžืชืจื—ืฉ ืจืง ื‘ืฉืœื‘ ื”ืงื•ืžืคื™ืœืฆื™ื”, ืืš ื›ื“ื™ ืœื‘ื˜ืœื•, ื ื™ืชื ืช ื”ื™ื›ื•ืœืช ืœื˜ืขื•ืŸ ืงื•ื“ JavaScript ื”ื™ื“ื•ืจ ืžืจืืฉ, ื”ืžืฉืžืฉ ืœื”ืืฆืช ื”ื˜ืขื™ื ื” ืฉืœ ื”ืกืคืจื™ื™ื” ื”ืกื˜ื ื“ืจื˜ื™ืช (Brython ืžืกืคืง ื›ืœื™ื ืœื™ืฆื™ืจืช ืกืคืจื™ื•ืช JavaScript ื”ืžื‘ื•ืกืกื•ืช ืขืœ ืžื•ื“ื•ืœื™ Python).

ื–ืžืŸ ื™ื‘ื•ื
ื™ื‘ื•ื ืžืชืžื˜ื™ืงื”

ืžืžืกืžืš ื™ื™ื‘ื•ื โ€‹โ€‹ื“ืคื“ืคืŸ
ื™ื™ื‘ื•ื โ€‹โ€‹ื“ืคื“ืคืŸ.ื˜ื™ื™ืžืจ

ืชื•ื›ืŸ = ืžืกืžืš["ืชื•ื›ืŸ"]

...

canvas = content.select_one(โ€œ.clockโ€)

if hasattr(canvas, 'getContext'):
ctx = canvas.getContext("2d")

browser.timer.set_interval(set_clock, 100)
show_hours()
else
content.select_one('.navig_zone').html = "ืงื ื‘ืก ืื™ื ื• ื ืชืžืš"

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”