EasyPython🐍
67 subscribers
590 photos
4 links
ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈ ΠΏΠΎ Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ упростят Π²Π°ΠΌ Тизнь.
Download Telegram
РасчСт Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ β€œΡ‚Ρ€ΡŽΠΊβ€ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ врСмя, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ time-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ, сколько Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ трСбуСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ для выполнСния ΠΊΠΎΠ΄Π°.
Классика: Zen of Python ΠΎΡ‚ Π’ΠΈΠΌΠ° ΠŸΠΈΡ‚Π΅Ρ€ΡΠ°

Zen of Python β€” 19 ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² программирования Π½Π° Python, написанныС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ Π’ΠΈΠΌΠΎΠΌ ΠŸΠΈΡ‚Π΅Ρ€ΡΠΎΠΌ. И СдинствСнная «пасхалка», ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Π»ΠΈ Π² РуководствС.
ΠœΡ‹ΡΠ»ΠΈ ΠΎ любви

Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊΠΈΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΠ΄, Python Π»ΡŽΠ±ΠΈΡ‚ ΠΏΠΎΡ€Π°ΡΡΡƒΠΆΠ΄Π°Ρ‚ΡŒ ΠΈ ΠΎ любви (ΠΈ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ любовь β€” это любовь, Π° Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Ρ‚Π°ΠΌ Π΅Ρ‰Π΅).
ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ индСкс

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°Ρ‡Π°Ρ‚ΡŒ с послСднСго Π·Π½Π°ΠΊΠ°, Ρ‚ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ индСксом.
Π₯эши

Π₯Сш β€” фиксированноС Ρ†Π΅Π»ΠΎΠ΅ число, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ. МоТно Π»ΠΈ Π½Π°ΠΉΡ‚ΠΈ Ρ…Π΅Ρˆ бСсконСчности ΠΈΠ»ΠΈ NaN? Π’ Python Π΄Π°.
Π’ΠΈΠΏΡ‹ Π½Π΅ для слабонСрвных

Если ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ справку для types.CodeType, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π° эту Ρ‚Π΅ΠΌΡƒ Π΄ΡƒΠΌΠ°Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ языка.
Никаких Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок

Π’ Python, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, C, C ++ ΠΈΠ»ΠΈ Java ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ отступы вмСсто Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок. И Π΄Π°ΠΆΠ΅ Ссли ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ…, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ это.
Π¦Π΅Π»Ρ‹Ρ… 4 отсылки Π½Π° ΠœΠΎΠ½Ρ‚ΠΈ ΠŸΠ°ΠΉΡ‚ΠΎΠ½

Π“Π²ΠΈΠ΄ΠΎ Π²Π°Π½ Россум Π»ΡŽΠ±ΠΈΡ‚ это ΡˆΠΎΡƒ, ΠΈ Π΄Π°ΠΆΠ΅ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΡƒΠΊΠ°Π·Π°Π», Ρ‡Ρ‚ΠΎ: Β«Π―Π·Ρ‹ΠΊ Π½Π°Π·Π²Π°Π½ Π² Ρ‡Π΅ΡΡ‚ΡŒ ΡˆΠΎΡƒ Π‘ΠΈ-Π±ΠΈ-си β€œΠ›Π΅Ρ‚Π°ΡŽΡ‰ΠΈΠΉ Ρ†ΠΈΡ€ΠΊ ΠœΠΎΠ½Ρ‚ΠΈ ΠŸΠ°ΠΉΡ‚ΠΎΠ½Π°β€ ΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΊ рСптилиям. Бсылки Π½Π° скСтчи ΠœΠΎΠ½Ρ‚ΠΈ ΠŸΠ°ΠΉΡ‚ΠΎΠ½ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Ρ‹, Π½ΠΎ ΠΈ ΠΏΠΎΠΎΡ‰Ρ€ΡΡŽΡ‚ΡΡ!Β». Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½Π΅ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Π² самом языкС Π΅ΡΡ‚ΡŒ нСсколько отсылок ΠΊ ΡˆΠΎΡƒ.
МоТно ΠΈ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ try β€” except
KeyError

Если ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ json.loads() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ вмСсто словаря список, Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΊΠ»ΡŽΡ‡Ρƒ message ΠΌΠΎΠΆΠ½ΠΎ ΡΡ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅.

Π­Ρ‚Ρƒ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Π½Π΅ знаСшь Ρ‚ΠΈΠΏ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π²Ρ‹Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ Π»ΠΎΠ³ΠΈ Π±ΠΎΡ‚Π° ΠΏΠΎ дням, Π° Π² Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π½Π΅ ΡΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ бСсСды. Π’ΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Π΅Ρ€Π½Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ None (Β«Π½ΠΈΡ‡Π΅Π³ΠΎΒ») ΠΏΡ€ΠΎ Π²ΠΎΡΠΊΡ€Π΅ΡΠ΅Π½ΡŒΠ΅, ΠΈ Ρƒ Π½Π΅Π³ΠΎ Ρ‚ΠΎΠΆΠ΅ Π½Π΅Ρ‚ ΠΊΠ»ΡŽΡ‡Π° β€˜message’. Π—Π΄Π΅ΡΡŒ try β€” except ΠΈΠ³Ρ€Π°Π΅Ρ‚ Π²Π°ΠΆΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ: навСсив Ρ‚Π°ΠΊΠΎΠΉ Π±Π»ΠΎΠΊ, ΠΌΡ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ с пустотами.
IndexError

Допустим, ΠΌΡ‹ ΠΈ дальшС ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ список Ρ€Π΅ΠΏΠ»ΠΈΠΊ Π±ΠΎΡ‚Π°, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь Π΄Π»ΠΈΠ½Π° этого пСрСчня разная. Если всС ΠΆΠ΅ приходится ΠΏΡ€ΠΈ создании Ρ†ΠΈΠΊΠ»Π° ΠΎΠΏΠΈΡ€Π°Ρ‚ΡŒΡΡ Π½Π° Π½Π΅ΠΊΡƒΡŽ константу, которая с количСством Ρ€Π΅ΠΏΠ»ΠΈΠΊ Π½Π΅ всСгда совпадаСт, try β€” except ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ с ошибкой индСкса.

Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ части конструкции, с ΠΊΠ°ΠΊΠΎΠΉ ошибкой ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ скрипт.
TypeError + ValueError

Если Π²Ρ‹, скаТСм, ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π²Π²Π΅Π» ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, Ρ‚ΠΎ input() ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‹Π³Ρ€Π°Ρ‚ΡŒ с Π²Π°ΠΌΠΈ Π·Π»ΡƒΡŽ ΡˆΡƒΡ‚ΠΊΡƒ.

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строку, Π° ΠΌΡ‹-Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ цСлочислСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

try, Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ с Ρ‚Π°ΠΊΠΎΠΉ ситуациСй, Ссли Π²Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… для ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС, слоТСния).
НС стоит ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ try β€” except
AttributeError

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ…Ρ€Π°Π½ΠΈΠΌ тСкстовыС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π² спСциализированной Π±Π°Π·Π΅: тСкст (text) ΠΈ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π΅Π³ΠΎ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° Π² ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½ΠΎΠΌ пространствС (values).

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° langchain, ΠΊΠΎΠ³Π΄Π° Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Π±Π»ΠΈΠ·ΠΊΠΈΠ΅ ΠΏΠΎ смыслу прСдлоТСния, ΠΈΡ‰Π΅Ρ‚ Π±Π»ΠΈΠ·ΠΊΠΎΠ½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² res Π² ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅.

Если ΠΏΠΎ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΌ скобкам ΡƒΠ·Π½Π°Ρ‚ΡŒ список Π² этом Π²Ρ‹Π²ΠΎΠ΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ, Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт β€” ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, ΡƒΠΆΠ΅ слоТнСС. Π‘Π»ΠΎΠΊ try Π² Ρ‚Π°ΠΊΠΈΡ… ситуациях ΠΌΠ°Π»ΠΎΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ, ΠΈΠ±ΠΎ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π·Π°Π΄Π°Π½ Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. НС ясно, ΠΊΠ°ΠΊΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΊΠ»Π°ΡΡ‚ΡŒ Π² except.
ImportError

Π’Π΅ ΠΈΠ· нас, ΠΊΡ‚ΠΎ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠ°Ρ… Π½Π° Π±Π°Π·Π΅ Google Colaboratory / Jupyter Notebook, помнят, Ρ‡Ρ‚ΠΎ Π² срСду прСдустановлСно мноТСство популярных сторонних инструмСнтов, ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡ… ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ pip Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ.

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с классичСской Python-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ Π»Π΅Π³ΠΊΠΎ Π·Π°Π±Ρ‹Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΡ‚ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ инструмСнт Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½. Или, Ρ‡Ρ‚ΠΎ Π΅Ρ‰Π΅ Ρ…ΡƒΠΆΠ΅, для Π΄Π°Π½Π½ΠΎΠΉ вСрсии Python Π½Π΅ прСдусмотрСна конкрСтная вСрсия Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. НСдавно ΠΏΡ€ΠΈ запускС скрипта с langchain Π½Π° Python 3.9. я Π±Ρ‹Π»Π° Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ языковой ΠΏΠ°ΠΊΠ΅Ρ‚ Π΄ΠΎ 3.11.5, ΠΈΠ±ΠΎ нуТная langchain==0.0.194 Π² 3.9 попросту нСдоступна.

Для Ρ‚Π°ΠΊΠΈΡ… ситуаций try β€” except ΠΌΠ°Π»ΠΎΠΏΠΎΠ»Π΅Π·Π΅Π½. Π‘ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹ΠΌΠΈ инструмСнтами всС Ρ€Π°Π²Π½ΠΎ придСтся Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.
НСобычныС ΠΏΡ€ΠΈΡ‘ΠΌΡ‹ Π½Π°Ρ€Π΅Π·ΠΊΠΈ списков Π½Π° Python

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ части элСмСнтов ΠΈΠ· списка являСтся распространённым Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. Π’ Python ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ slice состоит ΠΈΠ· Ρ‚Ρ€Ρ‘Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ².

β€œstart”: Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ индСкс (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π°Π²Π½ΠΎ 0).
β€œend”: ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ индСкс (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ - Π΄Π»ΠΈΠ½Π° списка).
β€œstep”: опрСдСляСт Ρ€Π°Π·ΠΌΠ΅Ρ€ шага ΠΏΡ€ΠΈ итСрациях ΠΏΠΎ списку (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π°Π²Π½ΠΎ 1).
ΠŸΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°

Python ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°. Зная эти слова, Π²Ρ‹ сразу ΠΊΠ°ΠΆΠΈΡ‚Π΅ΡΡŒ настоящим ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹ΠΌ Π³Π΅Π½ΠΈΠ΅ΠΌ.
На самом Π΄Π΅Π»Π΅, концСпция довольно проста. Π’Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ задавались вопросом, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π² Python ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ + для добавлСния чисСл ΠΈ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ строк? Π­Ρ‚ΠΎ ΠΈ Π΅ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π² чистом Π²ΠΈΠ΄Π΅.
Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ стандартными символами ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Python ΠΏΠΎ-своСму. Π’ΠΎΠ³Π΄Π° ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² зависимости ΠΎΡ‚ содСрТимого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅.
Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅

Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ (virtual environment) β€” надстройка, которая обСспСчиваСт Π΄Π²Π΅ Π²Π΅Ρ‰ΠΈ.

Π˜Π·ΠΎΠ»ΡΡ†ΠΈΡŽ зависимостСй. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ окруТСния Π±ΡƒΠ΄Π΅Ρ‚ собствСнный Π½Π°Π±ΠΎΡ€ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΎΡ‚ систСмного языкового ΠΏΠ°ΠΊΠ΅Ρ‚Π°. Π­Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ уязвимости Π² послСдних Π½Π΅ наврСдят ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ.

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий. Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ requirements.txt ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Код, скопированный ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΎΠ»Π΅Ρ‚Π½Π΅Π³ΠΎ Ρ‚Ρ€Π΅Π΄Π° Π½Π° StackOverflow, часто Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΠ·-Π·Π° этого. Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с нСсколькими ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠΌΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… вСрсий ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, virtualenv ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡ… «развСсти ΠΏΠΎ ΡƒΠ³Π»Π°ΠΌΒ».
УправляйтС сСссиями

Π’ΠΎ врСмя сСссии всСм событиям, ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ… ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, присваиваСтся ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€. Π­Ρ‚ΠΎ позволяСт ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ запросами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ растянуты ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.
Π’Π°Π»ΠΈΠ΄ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅

Π‘Ρ‚ΠΎΠΈΡ‚ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Π²Π²ΠΎΠ΄ Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… символов. Π’ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ это особСнно Π²Π°ΠΆΠ½ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π°Ρ‚Π°ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ SQL-ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΠΈ ΠΈ мСТсайтовый скриптинг (XSS).
Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ для экономии памяти

ΠžΡ‚Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ эффСктивнСС вмСсто самописных ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ синтаксиса β€” ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобок ΠΈ конструкции i for i in range(10000).
%%html

ΠžΡ‚Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ‚ ячСйку ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ HTML. Π’Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ исполнит ΠΊΠΎΠ΄ Π½Π° Javascript, Perl ΠΈΠ»ΠΈ Ruby! Π’ΠΎΡ‚ это Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. Волько ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ с ΠΎΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ!
Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, для ΡƒΡ‡Π΅Π±Ρ‹ Π½Π΅Ρ€Π΅Π΄ΠΊΠΎ пригоТдаСтся вСрстка Ρ„ΠΎΡ€ΠΌΡƒΠ» Π½Π° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ стандартС LaTeX, ΠΈΠ»ΠΈ справочной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π° Markdown. Для самых ΠΊΡ€Π΅Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… прСдусмотрСли Π΄Π°ΠΆΠ΅ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ ΠΈΠ· .svg.