#python python... PYTHON πŸ”› πŸš€
11 subscribers
914 photos
7 videos
158 files
1.54K links
Download Telegram
Forwarded from Python | ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΠŸΠΈΡ‚ΠΎΠ½Π΅
Forwarded from Python | ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΠŸΠΈΡ‚ΠΎΠ½Π΅
Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ этот ΠΊΠΎΠ΄?
Anonymous Quiz
58%
[[]]
14%
[[...]]
19%
ΠžΡˆΠΈΠ±ΠΊΡƒ
9%
Π£Π·Π½Π°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚
πŸŒ€ ΠŸΡƒΡ‚ΡŒ поиска ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ

ΠŸΡ€ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π΅ модуля с ΠΈΠΌΠ΅Π½Π΅ΠΌ spam ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ сначала выполняСт поиск встроСнного модуля с Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ. Если Ρ„Π°ΠΉΠ» Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½, выполняСтся поиск ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π° spam.py Π² спискС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ sys.path. sys.path ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… мСст:
β€” ΠšΠ°Ρ‚Π°Π»ΠΎΠ³, содСрТащий Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ сцСнарий (ΠΈΠ»ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Ссли Ρ„Π°ΠΉΠ» Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½).
β€” PYTHONPATH (список ΠΈΠΌΡ‘Π½ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² с Ρ‚Π΅ΠΌ ΠΆΠ΅ синтаксисом, Ρ‡Ρ‚ΠΎ ΠΈ пСрСмСнная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ PATH).
Зависит ΠΎΡ‚ установки ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

ПослС ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Python ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ sys.path. ΠšΠ°Ρ‚Π°Π»ΠΎΠ³, содСрТащий выполняСмый скрипт, помСщаСтся Π² Π½Π°Ρ‡Π°Π»ΠΎ ΠΏΡƒΡ‚ΠΈ поиска ΠΏΠ΅Ρ€Π΅Π΄ стандартным ΠΏΡƒΡ‚Π΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ скрипты Π² этом ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹ вмСсто ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Π­Ρ‚ΠΎ ошибка, Ссли Π·Π°ΠΌΠ΅Π½Π° Π½Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π°.
#python
Forwarded from Zen of Python
​36 способов Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ Python бСсплатно (для Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΎΠ² ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ)

Π›ΠΎΠ²ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΊΡƒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… бСсплатныС ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Π²Π°ΠΌ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΡƒ Π½Π° Python, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ направлСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ:

https://vc.ru/education/519077-36-sposobov-vyuchit-python-besplatno-dlya-analitikov-i-ne-tolko

#ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΊΠ°
Forwarded from Zen of Python
​Настройка Visual Studio Code для Django

VS Code ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΡƒΠΌΠ΅Π΅Ρ‚ ΡƒΠΆΠ΅ ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ, Π° Ρ‡Ρ‚ΠΎ Π½Π΅ ΡƒΠΌΠ΅Π΅Ρ‚ сам ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ. Но с Django слСгка иная ситуация. Π—Π΄Π΅ΡΡŒ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π»ΠΈΠ½Ρ‚Π΅Ρ€Ρ‹ ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ, Π΄Π° ΠΈ mypy Π²Π°ΠΌ Ρ‚ΡƒΡ‚ Π±Π΅Π· надобности, Ссли Π½Π΅ Β«ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ напильником».

Но эти ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Ρ€Π΅ΡˆΠ°ΡŽΡ‚ΡΡ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… инструмСнтов, Π»ΠΈΠ±ΠΎ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΌΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Π°ΠΌΠΈ для mypy ΠΈ pylint. Π’ΠΎΡ‚ ΠΎ послСдних ΠΈ ΠΏΠΎΠΉΠ΄Ρ‘Ρ‚ Ρ€Π΅Ρ‡ΡŒ Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅:

https://habr.com/ru/post/701800/

#django #vscode
Forwarded from Zen of Python
β€‹ΠšΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹ΠΉ ΠΏΠ΅Ρ‚-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ для Π±ΡƒΠ΄ΡƒΡ‰ΠΈΡ… Β«Π΄ΡƒΡ€ΠΎΠ²Ρ‹Ρ…Β»

МногиС сСрвисы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сСгодня ΠΈΠΌΠ΅ΡŽΡ‚ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΈ ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄Π½Ρ‹Π΅ ΠΊΠ°ΠΏΠΈΡ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ создавались, ΠΊΠ°ΠΊ ΠΏΠ΅Ρ‚-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, Π½ΠΎ Π±Ρ‹Π»ΠΈ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹, Ρ‡Ρ‚ΠΎ пСрСросли Π² бизнСс. Как ΠΆΠ΅ Π°Π²Ρ‚ΠΎΡ€Π°ΠΌ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Ρ‚Π°ΠΊ Ρ€Π°Π·Π²ΠΈΡ‚ΡŒ свои ΠΈΠ΄Π΅ΠΈ?

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ собрали для вас 10 совСтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹ΠΉ ΠΏΠ΅Ρ‚-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ваши Π½Π°Π²Ρ‹ΠΊΠΈ ΠΏΡ€ΠΎΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚, Π½ΠΎ ΠΈ смоТСт ΡΡ‚Π°Ρ‚ΡŒ популярным:

https://tproger.ru/articles/kak-sozdat-uspeshnyj-pet-proekt-instrukcija-dlja-budushhih-cukerbergov-i-durovyh/
Forwarded from Zen of Python
​API-интСрфСйс Django REST Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅

REST API являСтся ΠΎΡ‡Π΅Π½ΡŒ распространённым Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ использования с Django сСгодня. Но Ρ‚Π°ΠΊΠΎΠ΅ взаимодСйствиС умСстно ΠΏΡ€ΠΈ большом ΠΈ слоТном API, Π° Π²ΠΎΡ‚ ΠΏΡ€ΠΈ малСньком ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ ΠΈ встроСнныС Π² Django инструмСнтами, Π½Π΅ создавая Π»ΠΈΡˆΠ½ΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ слоТностСй.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎΠ± этом:

https://adamj.eu/tech/2020/10/15/a-single-file-rest-api-in-django/

#django #restapi
Forwarded from Zen of Python
​Data Science Π½Π° Python для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Π­Ρ‚ΠΎ Π²ΠΈΠ΄Π΅ΠΎ Π½Π°ΡƒΡ‡ΠΈΡ‚ вас ΠΏΠΎΡ‡Ρ‚ΠΈ всСму, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ для Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ построСния ΠΌΠΎΠ΄Π΅Π»ΠΈ машинного обучСния. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π² ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π΅, с субтитрами ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄ΠΈΡ‚Π΅ Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ЯндСкс.

https://youtu.be/BqfM9eeD6KA?list=PL7mOFdpoBB6QiW3_n7aKn_eHTCCftPJLw

#Π²ΠΈΠ΄Π΅ΠΎ #datascience
Forwarded from Zen of Python
β€‹ΠšΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с процСссами ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ Π² Python

Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½Π° Ρ‚Π΅ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хотят Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ большС Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π·Π° ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ врСмя, ΠΈ Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ всС рСсурсы своСго ΠΆΠ΅Π»Π΅Π·Π°. ΠŸΡ€ΠΎΡ‰Π΅ говоря, Π΄Π΅Π»Π°Ρ‚ΡŒ большС, ΠΈ ΠΏΡ€ΠΈ этом ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ мСньшими рСсурсами.

https://habr.com/ru/company/simbirsoft/blog/701020/
Forwarded from Big Data Science [RU]
πŸ€”PyPy vs CPython: ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ Python
ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Python-скриптов Π·Π½Π°Π΅Ρ‚ ΠΏΡ€ΠΎ CPython β€” Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½Π΅Π½Π½ΡƒΡŽ рСализация Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, которая ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ написанный ΠΊΠΎΠ΄. ΠšΡ€ΠΎΠΌΠ΅ CPython Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ PyPy , построСнный с использованиСм языка RPython. По ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с CPython, PyPy Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстрСС, рСализуя Python 2.7.18, 3.9.15 ΠΈ 3.8.15. PyPy ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ стандартных Python-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. ВСрсия PyPy x86 Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Linux (32/64 Π±ΠΈΡ‚Π°), MacOS (64 Π±ΠΈΡ‚Π°), Windows (32 Π±ΠΈΡ‚Π°), OpenBSD, FreeBSD. ВСрсии, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΡ‚ x86, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² Linux, Π° ARM64 β€” Π² MacOS.
Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, PyPy Π½Π΅ смоТСт ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π² ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… процСссах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ ΠΌΠ΅Π½Π΅Π΅ Ρ‡Π΅ΠΌ Π½Π° ΠΏΠ°Ρ€Ρƒ сСкунд: JIT-компилятору Π½Π΅ Ρ…Π²Π°Ρ‚ΠΈΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° Β«Ρ€Π°Π·ΠΎΠ³Ρ€Π΅Π²Β». Π’Π°ΠΊΠΆΠ΅ PyPy Π½Π΅ даст Π²Ρ‹ΠΈΠ³Ρ€Π°ΡˆΠ° Π² скорости, Ссли всС врСмя выполнСния проводится Π² runtime-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ…, Ρ‚.Π΅. Π² функциях C, Π° Π½Π΅ Π² фактичСском Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Python-ΠΊΠΎΠ΄Π°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ PyPy Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π΄ΠΎΠ»Π³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΡ…ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΠ³Π΄Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ тратится Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Python.
Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния потрСблСния памяти, PyPy Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°Ρ‚ΡŒ Ρ„ΠΎΡ€Ρƒ CPython: Python-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с высоким ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ΠΌ ΠžΠ—Π£ (сотни ΠœΠ‘ ΠΈ Π±ΠΎΠ»Π΅Π΅) ΠΌΠΎΠ³ΡƒΡ‚ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ мСньшС мСста Π² PyPy, Ρ‡Π΅ΠΌ Π² CPython.
https://www.pypy.org/features.html
Π—Π·Π·Π½Π°Ρ‚ΠΎΠΊΠ°ΠΌ Python Ρ…ΠΈΡ‚Ρ€Ρ‹ΠΉ вопрос!

Какой Ρ‚ΠΈΠΏ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρƒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° field Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ print_user_field, Ρ‡Ρ‚ΠΎΠ±Ρ‹ послСдняя строка ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ Ρ‚ΠΈΠΏΠ° ΠΏΠΎΠΊΠ°Π·Π°Π»Π° ΠΎΡˆΠΈΠ±ΠΊΡƒ? ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π· поля User β€” нСльзя, ΠΈΠ±ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ рассинхрон ΠΈΠΌΡ‘Π½ ΠΏΠΎΠ»Π΅ΠΉ Π² классС ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΈΡ… пСрСчислСнии.

Код ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ здСсь.

Π’ΠΎΡ‚ Ρ‚Π°ΠΊ это дСлаСтся Π½Π° TS

А как на Python, м:)?

#IT #python #typescript #codebetter
ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π· поля β€” ΠΏΠ»ΠΎΡ…ΠΎ? ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ситуация Π½Π° ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π΅ ⬆️ β€” ΠΏΠΎΠ»Π΅ name Π² User ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π»ΠΎΡΡŒ Π² username, Π° Π² Ρ‚ΠΈΠΏΠ°Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° field ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ name. БистСма ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ² Π½Π΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ print_user_name(user, "name"), Π° Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ поля name ΡƒΠΆΠ΅ Π½Π΅Ρ‚.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ вынСсти эту ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π½Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ field Π² Π±Π»ΠΎΠΊ try/except β€” ΠΏΠ»ΠΎΡ…ΠΎ? ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это ΡƒΠ²Π΅Π΄Ρ‘Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π² runtime, Π° Π½Π°Π΄ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ошибки Π² Ρ€Π°Π½Ρ‚Π°ΠΉΠΌΠ΅, ошибки Π² Ρ€Π°Π½Ρ‚Π°ΠΉΠΌΠ΅ = грустящиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ.

БистСматичСских способа ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ошибки Π² Ρ€Π°Π½Ρ‚Π°ΠΉΠΌΠ΅ я знаю Π΄Π²Π°, Π’Π’ β€” ΠΊΠ°ΠΊ Π’ΡƒΠ»ΡŒΡΠΊΠΈΠΉ Π’ΠΎΠΊΠ°Ρ€Π΅Π², Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Випизация ΠΈ ВСсты.

Оба способа Π½Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ отсутствиС ошибок, Π½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Ρ‹Π»Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ ΠΈΡ… количСство Π½Π° этапах Π΄ΠΎ Ρ€Π°Π½Ρ‚Π°ΠΉΠΌΠ°, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π΄ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Π§Π΅ΠΌ Π»ΡƒΡ‡ΡˆΠ΅ Π’Π’, Ρ‚Π΅ΠΌ мСньшС ошибок Π² Ρ€Π°Π½Ρ‚Π°ΠΉΠΌΠ΅.

МоТно Π»ΠΈ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ? ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, драматичСски ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ² количСство тСстов ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ Π² ΠΊΠΎΠ΄Π΅, засорив ΠΊΠΎΠ΄ этими ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°ΠΌΠΈ.

Випизация ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ количСство тСстов, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ большой пласт ошибок выявляСтся Π½Π° этапС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ².

#python #it #codebetter
Media is too big
VIEW IN TELEGRAM
Π Π°Π±ΠΎΡ‚Π° с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Python

Π’ этом Π²ΠΈΠ΄Π΅ΠΎΡƒΡ€ΠΎΠΊΠ΅ Π°Π²Ρ‚ΠΎΡ€ Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅Ρ‚ процСсс Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Python. Π’Ρ‹ рассмотритС ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, ΠΊΠ°ΠΊ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΅Π΅ содСрТимоС, ΠΊΠ°ΠΊ Π²Π½ΠΎΡΠΈΡ‚ΡŒ, ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ ΠΈ типизация ячССк.

00:00 Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅
00:35 Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…
02:05 Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹
04:15 Π—Π°ΠΏΠΈΡΡŒ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ (ΠΌΠ΅Ρ‚ΠΎΠ΄ execute)
06:20 Π—Π°ΠΏΠΈΡΡŒ массива (ΠΌΠ΅Ρ‚ΠΎΠ΄ executemany)
08:00 Как ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ содСрТимоС Π‘Π”
11:52 PRIMARY KEY
13:00 Випизация ячССк
16:25 Π§Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…
21:57 ИзмСнСниС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ
26:30 Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ
28:20 Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ это Π²ΠΈΠ΄Π΅ΠΎ Π½Π° youtube: youtu.be/siSRd4s7_ro
➑️ Π—Π°Π΄Π°Π½ΠΈΠ΅ ΠΎΡ‚ Π‘Π±Π΅Ρ€Π±Π°Π½ΠΊΠ°

Π’ этой Ρ‚Π°Π±Π»ΠΈΡ†Π΅ бСзымянная частичная Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° пСрСмСщСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΏΠΎ сайту. Один user_id β€” ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ. РасскаТитС Π½Π°ΠΌ всё, Ρ‡Ρ‚ΠΎ смоТСтС ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΏΠΎ Ρ‚Π°ΠΊΠΎΠΉ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ΅

ΠŸΡ€ΠΎΠ²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠ³ΠΎΡ€Ρ‚Π½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· (Π·Π° основу для ΠΊΠΎΠ³ΠΎΡ€Ρ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ нСдСлю рСгистрации), подсчитайтС ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ срок ΠΆΠΈΠ·Π½ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°/ΠΊΠΎΠ³ΠΎΡ€Ρ‚Ρ‹ ΠΎΡ†Π΅Π½ΠΈΡ‚Π΅ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ²

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ Ρƒ Ρ‚Π΅Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΊΡ‚ΠΎ пСрСстал ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅, ΠΈ Ρƒ Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ. ВСроятно, Π½Π° основС этих Π΄Π°Π½Π½Ρ‹Ρ… Π²Ρ‹ смоТСтС ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ прСдлоТСния ΠΏΠΎ Π°Π΄Π°ΠΏΡ‚Π°Ρ†ΠΈΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹? ΠšΠ°ΠΊΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… Π²Π°ΠΌ Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ провСсти Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ·?

Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° нСполная, поэтому Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ искаТСны. Нам Π²Π°ΠΆΠ½Ρ‹ Π½Π΅ ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹Π΅ значСния, Π° Ρ…ΠΎΠ΄ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅

⭐️ ДатасСт
πŸ–₯ РСшСниС

@machinelearning_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ–₯ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ„Π°Π±Ρ€ΠΈΠΊΠ° Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΎΠ²?

ΠžΡ‚Π²Π΅Ρ‚

Π­Ρ‚ΠΎ функция, которая Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€. НапримСр, Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡ€Π°Π². Π›ΠΎΠ³ΠΈΠΊΠ° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Π°, Π½ΠΎ ΠΏΡ€Π°Π² ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΠ»ΠΎΠ΄ΠΈΡ‚ΡŒ копипасту, напишСм Ρ„Π°Π±Ρ€ΠΈΠΊΡƒ Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΎΠ².

from functools import wraps

def has_perm(perm):
def decorator(view):
@wraps(view)
def wrapper(request):
if perm in request.user.permissions:
return view(request)
else:
return HTTPRedirect('/login')
return wrapper
return decorator

@has_perm('view_user')
def users(request):
...


@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ–₯ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ сСриализация
БСриализация – это процСсс сохранСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ ΠΈΠ»ΠΈ строковом Π²ΠΈΠ΄Π΅ для хранСния, ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈ восстановлСния. ΠžΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ процСсс называСтся дСсСриализациСй. Π’Π΅Ρ€ΠΌΠΈΠ½Ρ‹-синонимы ΠΌΠ°Ρ€ΡˆΠ°Π»ΠΈΠ½Π³/Π°Π½ΠΌΠ°Ρ€ΡˆΠ°Π»ΠΈΠ½Π³

json.dumps / json.dump , json.loads / json.load
Ѐункция dumps модуля json сохраняСт JSON-прСдставлСниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² строку. Ѐункция dump – Π² тСкстовый Ρ„Π°ΠΉΠ». Ѐункция loads модуля json Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ· строки. Ѐункция load – ΠΈΠ· тСкстового Ρ„Π°ΠΉΠ»Π°.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Ссли Π½ΡƒΠΆΠ½ΠΎ ΡΠ΅Ρ€ΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ стандартным ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ json
МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ pickle ΠΈΠ»ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ классы JSONEncoder ΠΈ JSONDecoder.

pickle.dumps / pickle.dump, pickle.loads / pickle.load
Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ dump, dumps, load ΠΈ loads модуля pickle Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ ΠΏΠΎ своСму ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ функциям модуля JSON, Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΌΠΈ строками ΠΈ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ.

ΠžΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ protocol Π΄Π°Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π·Π°Π΄Π°Ρ‘Ρ‚ Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°. ПослСднюю Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ константу pickle.HIGHEST_PROTOCOL, Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ – pickle.DEFAULT_PROTOCOL.

На ΠΌΠΎΠΌΠ΅Π½Ρ‚ написания Π΄Π°Π½Π½ΠΎΠ³ΠΎ тСкста сущСствуСт ΠΏΡΡ‚ΡŒ вСрсий ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°:

0 ΠΈ 1 – это ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ вСрсии, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ использовались Π² Python 2.2 ΠΈ Π½ΠΈΠΆΠ΅;
2 – это основная вСрсия ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° для Python 2;
3 – вСрсия ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°, которая появилась Π² Python 3, стандартный ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π² Python 3 Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ дСсСриализован Π² Python 2;
4 – вСрсия ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°, появившаяся Π² Python 3.4, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ большиС ΠΏΠΎ ΠΎΠ±ΡŠΡ‘ΠΌΡƒ памяти ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ большСС количСство Ρ‚ΠΈΠΏΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ.
5 - вСрсия ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°, появившаяся Π² Python 3.8. Он добавляСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ… out-of-band ΠΈ ускорСниС для in-band Π΄Π°Π½Π½Ρ‹Ρ…. PEP 574 Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ описываСт измСнСния.

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ–₯ Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ мноТСствСнноС наслСдованиС? Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ MRO?

ΠžΡ‚Π²Π΅Ρ‚
Π”Π°, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ родитСля Π² классС ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ°.

MRO – method resolution order, порядок Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². Алгоритм, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ слСдуСт ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π² случаС, Ссли Ρƒ класса Π΄Π²Π° ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ. Алгоритм Π»ΠΈΠ½Π΅ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π³Ρ€Π°Ρ„ наслСдования. ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊ: ΠΈΡ‰ΠΈ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ‡Π΅ΠΌ ΠΏΡ€Π°Π²Π΅Π΅ стоит класс, Ρ‚Π΅ΠΌ мСньшС Ρƒ Π½Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ ΠΏΡ€ΠΈ поискС ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.


Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины?

ΠžΡ‚Π²Π΅Ρ‚
Миксин (mix-in, Π°Π½Π³. β€œΠΏΡ€ΠΈΠΌΠ΅ΡΡŒβ€), ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ проСктирования Π² ООП, ΠΊΠΎΠ³Π΄Π° Π² Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ наслСдования добавляСтся нСбольшой класс-ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ. НапримСр, Π΅ΡΡ‚ΡŒ класс

class NowMixin(object):
def now():
return datetime.datetime.utcnow()
Π’ΠΎΠ³Π΄Π° любой класс, наслСдованный с этим миксином, Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ now().

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ–₯ КакиС Π·Π°Π΄Π°Ρ‡ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΎ параллСлятся, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ»ΠΎΡ…ΠΎ?

Π’Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‚ Π΄ΠΎΠ»Π³ΠΈΠΉ IO. Когда Ρ‚Ρ€Π΅Π΄ упираСтся Π² ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ сокСта ΠΈΠ»ΠΈ диска, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ бросаСт этот Ρ‚Ρ€Π΅Π΄ ΠΈ стартуСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ простоя ΠΈΠ·-Π·Π° оТидания. Наоборот, Ссли Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² ΡΠ΅Ρ‚ΡŒ Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ‚Ρ€Π΅Π΄Π΅ (Π² Ρ†ΠΈΠΊΠ»Π΅), Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· придСтся ΠΆΠ΄Π°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚Π°.

Однако, Ссли Π·Π°Ρ‚Π΅ΠΌ Π² Ρ‚Ρ€Π΅Π΄Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Ρ‚ΠΎ выполнятся Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ½ ΠΎΠ΄ΠΈΠ½. Π­Ρ‚ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ даст прироста Π² скорости, Π½ΠΎ ΠΈ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈΠ·-Π·Π° ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚Ρ€Π΅Π΄Ρ‹.

ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ ΠΎΡ‚Π²Π΅Ρ‚: Ρ…ΠΎΡ€ΠΎΡˆΠΎ лоТатся Π½Π° Ρ‚Ρ€Π΅Π΄Ρ‹ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΡΠ΅Ρ‚ΡŒΡŽ. НапримСр, Π²Ρ‹ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ сто ΡƒΡ€Π»ΠΎΠ². ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ Π²Π½Π΅ Ρ‚Ρ€Π΅Π΄ΠΎΠ².

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΡƒΠ³ΠΎΠ» ΠΌΠ΅ΠΆΠ΄Ρƒ часовой ΠΈ ΠΌΠΈΠ½ΡƒΡ‚Π½ΠΎΠΉ стрСлкой Π² Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ врСмя. Данная Π·Π°Π΄Π°Ρ‡Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ логичСскоС ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΠ΅ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π°, ΠΈ ΠΊΠ°ΠΊ быстро ΠΎΠ½ смоТСт ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.

ΠžΡ‚Π²Π΅Ρ‚ Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅

@python_job_interview