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

По всСм вопросам: @andrey_andrey01
Download Telegram
Π’Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы

sh β€” это ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ интСрфСйс, ΠΊΠ°ΠΊ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° subprocess, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ это Π±Ρ‹Π»Π° обычная функция.
ВсС запускаСмыС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ, ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½ΠΎ функциями Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ, Π° лишь динамичСски ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ систСмы. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎ сути ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ любой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π² систСмС.

sh полагаСтся Π½Π° систСмныС Π²Ρ‹Π·ΠΎΠ²Ρ‹ Unix ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах, Ρ‚.Π΅. Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Windows.
Для обращСния ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΈΡ… ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π’Π°ΠΊΠΆΠ΅ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° функция which, которая Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ Π΄ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π»ΠΈΠ±ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ None, Ссли ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°.

#sh
my_str = 'pypython'
my_str.replace('py', '', 1)
print(my_str)
Anonymous Poll
7%
thon
15%
Error
40%
python
24%
pypython
14%
ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚
БохраняСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ 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, ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π΅Π½, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ вьюшки, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π²Ρ…ΠΎΠ΄ Π² систСму ΠΈΠ»ΠΈ рСгистрация.