ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΈ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Brython 3.9 (Browser Python) Ρ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π½Π° Π΅Π·ΠΈΠΊΠ° Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ Python 3 Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΡ ΡΡΡΠ°Π½Π° Π½Π° ΡΠ΅Π± Π±ΡΠ°ΡΠ·ΡΡΠ°, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Python Π²ΠΌΠ΅ΡΡΠΎ JavaScript Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ Π½Π° ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ Π·Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ°. ΠΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Python ΠΈ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΡΠ΅ ΠΎΡ ΠΏΠΎΠ΄ BSD Π»ΠΈΡΠ΅Π½Π·. ΠΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ ΡΠ΅ ΠΎΡΠ»ΠΈΡΠ°Π²Π° ΡΡΡ ΡΠ²ΠΎΡΡΠ° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Ρ Python 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 ΠΊΠΎΠ΄ Π² Π±ΡΠ°ΡΠ·ΡΡΠ°, ΠΈ Skulpt Π²Π½Π΅Π΄ΡΡΠ²Π° ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Π² JavaScript).
ΠΠ±ΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Π½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ Π½Π° Python, Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ Π² ΡΠ΅Π± ΡΡΡΠ°Π½ΠΈΡΠΈ Π±Π»ΠΈΠ·ΠΎ ΠΊΡΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° CPython. ΠΠ°Π±Π°Π²ΡΠ½Π΅ΡΠΎ Π²ΡΠ·Π½ΠΈΠΊΠ²Π° ΡΠ°ΠΌΠΎ Π½Π° Π΅ΡΠ°ΠΏΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ, Π½ΠΎ Π·Π° Π΄Π° ΡΠ΅ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ°, Π΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½ JavaScript ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΡΡΠΊΠΎΡΡΠ²Π°Π½Π΅ Π½Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° (Brython Π’ΠΎΠΉ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° JavaScript Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Python ΠΌΠΎΠ΄ΡΠ»ΠΈ).
Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΠΈΠΌΠΏΠΎΡΡΠΈΡΠ°Π½Π΅
ΠΈΠΌΠΏΠΎΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ°
ΠΎΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Π·Π° ΠΈΠΌΠΏΠΎΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π±ΡΠ°ΡΠ·ΡΡΠ°
ΠΈΠΌΠΏΠΎΡΡΠΈΡΠ°ΠΉΡΠ΅ browser.timer
ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ = Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ["ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅"]
...
ΠΏΠ»Π°ΡΠ½ΠΎ = content.select_one(β.clockβ)
if hasattr(canvas, 'getContext'):
ctx = canvas.getContext("2d")
browser.timer.set_interval(set_clock, 100)
ΡΠΎΡ_ΡΠ°ΡΠΎΠ²Π΅()
Π΄ΡΡΠ³ΠΎ:
content.select_one('.navig_zone').html = "ΠΏΠ»Π°ΡΠ½ΠΎΡΠΎ Π½Π΅ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°"
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru