Python Skills 🐍
309 subscribers
1.02K photos
17 videos
302 links
Канал ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ ΠΈ ΡŽΠΌΠΎΡ€ΠΈΡΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° Π½Π° Ρ‚Π΅ΠΌΡƒ программирования, Π² частности Ρ‚Π°ΠΊΠΎΠ³ΠΎ языка ΠΊΠ°ΠΊ Python.

По всСм вопросам: @andrey_andrey01
Download Telegram
БохраняСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ pickle

Рассмотрим ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ, ΠΏΠΎΠ»Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» сохранСния. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ список Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ², создаСм Ρ„Π°ΠΉΠ», записываСм Π² Ρ„Π°ΠΉΠ» с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ pickle.

ΠžΡ‡Π΅Π½ΡŒ просто ΠΈ Π»Π΅Π³ΠΊΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ…. ОсобСнно для ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ использования.
πŸ§‘β€πŸ’» ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ строк ΠΊΠΎΠ΄Π° Π² популярных сСрвисах/прилоТСниях.

А сколько строк Π±Ρ‹Π»ΠΎ максимум Π² Π²Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…? πŸ€”
​​Находим схоТиС строки

Π’ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Python сущСствуСт ΠΌΠΎΠ΄ΡƒΠ»ΡŒ difflib, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π΅ΡΡ‚ΡŒ интСрСсный ΠΌΠ΅Ρ‚ΠΎΠ΄ get_close_matches. Он позволяСт Π½Π°ΠΉΡ‚ΠΈ Π² спискС строки, ΠΏΠΎΡ…ΠΎΠΆΠΈΠ΅ Π½Π° Π½Π΅ΠΊΡƒΡŽ ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ.

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΡ‰Π΅Ρ‚ "Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠ΅" Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ совпадСния. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π·Π°Π΄Π°Ρ‘Ρ‚ ΠΈΡΠΊΠΎΠΌΡƒΡŽ строку, Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ β€” список, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ выполняСтся поиск.

Π’Π°ΠΊΠΆΠ΅ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ n, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Π΄Π°Ρ‘Ρ‚ максимальноС число Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Ρ… совпадСний.

#difflib
aiosqlite - это асинхронный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ sqlite3.
Π•Ρ‘ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ, скаТСм, Π² связкС с aiogram для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ΠΎΠ².
Π’Π°ΠΊ ΠΊΠ°ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ запросов ΠΊ Π‘Π” Π½Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ основной ΠΏΠΎΡ‚ΠΎΠΊ.

Бтавится ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ pip install aiosqlite
ДокумСнтация здСсь.
Ѐункция setattr()

Ѐункция позволяСт ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π°Ρ‚Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, это позволяСт ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ.

НапримСр, Π² случаС, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π½Π΅ Π·Π½Π°Π΅ΠΌ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π² ΠΊΠ°ΠΊΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅.
Π£Ρ‡ΠΈΡ‚Π΅ΡΡŒ, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠ·Π΄Π½ΠΎ ☝️
ΠžΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… списков с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ zip()

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ встроСнной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ zip() ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ всС Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: функция zip() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ zip-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ привСдСния Ρ‚ΠΈΠΏΠΎΠ² Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ list(), tuple() ΠΈΠ»ΠΈ dict().
ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρƒ словарСй

Π’ этом постС ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΏΡ€ΠΎ 3 простых ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Ρƒ словарСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ элСмСнты Π² Ρ€Π°Π·Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° dict.keys() ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡ΠΈ словаря Π² Π²ΠΈΠ΄Π΅ списка, dict.values() β€” Ρ‚ΠΎ ΠΆΠ΅ самоС, Π½ΠΎ со значСниями.

А ΠΌΠ΅Ρ‚ΠΎΠ΄ dict.items() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список ΠΈΠ· ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ содСрТат ΠΊΠ»ΡŽΡ‡ΠΈ ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ значСния.

#словари
Anonymous required

Π­Ρ‚ΠΎΡ‚ Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ основан Π½Π° Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€Π΅ login_required Django, Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎ, ΠΈ провСряСт, являСтся Π»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹ΠΌ, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ пСрСнаправляСтся Π½Π° Π²Π΅Π±-сайт, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π² нашСм Ρ„Π°ΠΉΠ»Π΅ settings.py, ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π΅Π½, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ вьюшки, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π²Ρ…ΠΎΠ΄ Π² систСму ΠΈΠ»ΠΈ рСгистрация.
Какой Ρƒ вас ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ?
Anonymous Poll
72%
Волько ΡƒΡ‡ΡƒΡΡŒ
19%
Junior
6%
Middle
2%
Senior
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ бСсконСчный ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€

Ѐункция cycle() ΠΈΠ· itertools ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π° Π²Ρ…ΠΎΠ΄ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈ создаСт бСсконСчный ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€, цикличСски Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠΉ элСмСнты Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Ѐишка Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ³Π΄Π° элСмСнты ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ, итСрация начинаСтся вновь с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта.

Но Ссли Π²Ρ‹ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ Ρ†ΠΈΠΊΠ»ΠΎΠΌ ΠΏΠΎ Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ, Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· Ρ†ΠΈΠΊΠ»Π°, ΠΈΠ½Π°Ρ‡Π΅ ΠΎΠ½ станСт бСсконСчным (ΠΊΠ°ΠΊ Ρƒ нас Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅).

ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ islice(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π΅Ρ€Π½Π΅Ρ‚ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΠΎ подмноТСству ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

#itertools
This media is not supported in your browser
VIEW IN TELEGRAM
😎 Когда ΠΊΡ€Π°Ρ‚ΠΊΠΎΡΡ‚ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅