Π€ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚

ΠŸΡ€Π°Π²ΠΈΠ»Π° оформлСния Python-ΠΊΠΎΠ΄Π°

1. ΠžΡ‚ΡΡ‚ΡƒΠΏΡ‹

РСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ 4 ΠΏΡ€ΠΎΠ±Π΅Π»Π° Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ отступа. Python 3 Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚ смСшиваниС табуляции ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² Π² отступах. Код, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΈ Ρ‚Π΅, ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ отступов, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ исправлСн Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ отступы Π² Π½Π΅ΠΌ Π±Ρ‹Π»ΠΈ расставлСны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ².

2. Π’ΠΎΡ‡ΠΊΠΈ с запятой

НС раздСляйтС ваши строки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚ΠΎΡ‡Π΅ΠΊ с запятой ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ с запятой для раздСлСния ΠΊΠΎΠΌΠ°Π½Π΄, находящихся Π½Π° ΠΎΠ΄Π½ΠΎΠΉ строкС.

3. Π‘ΠΊΠΎΠ±ΠΊΠΈ

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ скобки экономно. НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΈΡ… с Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ return ΠΈΠ»ΠΈ с условной конструкциСй, Ссли Π½Π΅ трСбуСтся ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ пСрСнос строки. Однако скобки Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для создания ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ.

4. ΠŸΡ€ΠΎΠ±Π΅Π»Ρ‹ Π² выраТСниях ΠΈ инструкциях

4.1 ΠŸΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈ скобки

4.1.1 НС ΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ скобок (ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ…, Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… ΠΈ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ…).

4.1.2 Никаких ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ скобкой, которая Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ список Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², индСкс ΠΈΠ»ΠΈ срСз.

Π₯ΠΎΡ€ΠΎΡˆΠΎ ΠŸΠ»ΠΎΡ…ΠΎ Π₯ΠΎΡ€ΠΎΡˆΠΎ ΠŸΠ»ΠΎΡ…ΠΎ

4.2 ΠŸΡ€ΠΎΠ±Π΅Π»Ρ‹ рядом с запятой, Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ с запятой ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ

4.2.1 ΠŸΠ΅Ρ€Π΅Π΄ запятой, Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ с запятой Π»ΠΈΠ±ΠΎ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ². Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ±Π΅Π» послС запятой, Ρ‚ΠΎΡ‡ΠΊΠΈ с запятой ΠΈΠ»ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ (ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ случая, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ находятся Π² ΠΊΠΎΠ½Ρ†Π΅ строки).

4.3 ΠŸΡ€ΠΎΠ±Π΅Π»Ρ‹ Π²ΠΎΠΊΡ€ΡƒΠ³ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²

4.3.2 НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ±Π΅Π»Π° Π²ΠΎΠΊΡ€ΡƒΠ³ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° присваивания (ΠΈΠ»ΠΈ любого Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°) для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ с Π΄Ρ€ΡƒΠ³ΠΈΠΌ.

5. Π”Π»ΠΈΠ½Π° строк

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΠΉΡ‚Π΅ Π΄Π»ΠΈΠ½Ρƒ строк 79 символами (Π° Π΄Π»ΠΈΠ½Ρƒ строк Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² β€” 72 символами). Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ слСш Π² качСствС ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° Π½ΠΎΠ²ΡƒΡŽ строку. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ доступноС Π² Python явноС объСдинСниС строк посрСдством ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… ΠΈ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок. Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ°Ρ€Ρƒ скобок Π²ΠΎΠΊΡ€ΡƒΠ³ выраТСния.

Если ваш тСкст Π½Π΅ помСщаСтся Π² ΠΎΠ΄Π½Ρƒ строку, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ скобки для явного объСдинСния строк.

Π§Ρ‚ΠΎ касаСтся Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… URL Π² коммСнтариях, Ρ‚ΠΎ располагайтС ΠΈΡ…, Ссли это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Π½Π° ΠΎΠ΄Π½ΠΎΠΉ строкС.

ΠžΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ слСш ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. НапримСр, с Π΄Π»ΠΈΠ½Π½ΠΎΠΉ конструкциСй with для пСрСноса Π±Π»ΠΎΠΊΠ° инструкций.

6. ΠŸΡƒΡΡ‚Ρ‹Π΅ строки

ΠžΡ‚Π΄Π΅Π»ΡΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня, Π½Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ) ΠΈ опрСдСлСния классов двумя пустыми строками. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π²Π½ΡƒΡ‚Ρ€ΠΈ класса отдСляйтС ΠΎΠ΄Π½ΠΎΠΉ пустой строкой. Π”Π²Π΅ пустыС строки Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ объявлСниями Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня, Π±ΡƒΠ΄ΡŒ это класс ΠΈΠ»ΠΈ функция. Одна пустая строка Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ опрСдСлСниями ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ объявлСниСм класса ΠΈ Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ (Π±Π΅Π· энтузиазма) пустыС строки Π² ΠΊΠΎΠ΄Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° логичСскиС части.

Python расцСниваСт символ control+L ΠΊΠ°ΠΊ Π½Π΅Π·Π½Π°Ρ‡Π°Ρ‰ΠΈΠΉ (whitespace), ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ Π΅Π³ΠΎ ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Ρ‹Π² страницы β€” Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, логичСскиС части Π² Ρ„Π°ΠΉΠ»Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… страницах. Однако Π½Π΅ всС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°ΡŽΡ‚ control+L ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π° Π΅Π³ΠΎ мСстС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ символ.

7. ИмСна

ИмСна, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… слСдуСт ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ:

7.1 ИмСна Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

ИмСна Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… Π±ΡƒΠΊΠ², Π° слова Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒΡΡ символами подчСркивания β€” это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

Π‘Ρ‚ΠΈΠ»ΡŒ mixedCase допускаСтся Π² Ρ‚Π΅Ρ… мСстах, Π³Π΄Π΅ ΡƒΠΆΠ΅ ΠΏΡ€Π΅ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ ΡΡ‚ΠΈΠ»ΡŒ β€” для сохранСния ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ совмСстимости.

7.2 ИмСна ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

ΠœΠΎΠ΄ΡƒΠ»ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π°, состоящиС ΠΈΠ· ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… Π±ΡƒΠΊΠ². МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ символы подчёркивания, Ссли это ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π’ΠΎ ΠΆΠ΅ самоС относится ΠΈ ΠΊ ΠΈΠΌΠ΅Π½Π°ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΎΠ΄Π½Π°ΠΊΠΎ Π² ΠΈΠΌΠ΅Π½Π°Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π½Π΅ рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ символ подчёркивания.

Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π° ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ², Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ систСмы ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π΅Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΊ рСгистру символов ΠΈ ΠΎΠ±Ρ€Π΅Π·Π°ΡŽΡ‚ Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π°, ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ достаточно ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ β€” это Π½Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Unix, Π½ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΊΠΎΠ΄ окаТСтся нСпСрСносимым Π² старыС вСрсии Windows, Mac, ΠΈΠ»ΠΈ DOS.

7.3 ИмСна классов

ВсС ΠΈΠΌΠ΅Π½Π° классов Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ соглашСнию CapWords ΠΏΠΎΡ‡Ρ‚ΠΈ Π±Π΅Π· ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ.

Иногда вмСсто этого ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ соглашСния для имСнования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ссли интСрфСйс Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² основном ΠΊΠ°ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… соглашСния ΠΎ встроСнных ΠΈΠΌΠ΅Π½Π°Ρ…: Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ встроСнных ΠΈΠΌΠ΅Π½ β€” ΠΎΠ΄Π½ΠΎ слово (Π»ΠΈΠ±ΠΎ Π΄Π²Π° слитно написанных слова), Π° соглашСниС CapWords ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для имСнования ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΈ встроСнных констант.

Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΡΠ²Π»ΡΡŽΡ‚ΡΡ классами, ΠΊ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌΠΈ примСняСтся ΡΡ‚ΠΈΠ»ΡŒ имСнования классов. Однако Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Error Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΈΠΌΠ΅Π½ΠΈ (Ссли, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ являСтся ошибкой).

7.4 ИмСна констант

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ модуля ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Π³Π»Π°Π²Π½Ρ‹ΠΌΠΈ Π±ΡƒΠΊΠ²Π°ΠΌΠΈ, Π° слова Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ символами подчСркивания.

8. ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡Π°Ρ‰ΠΈΠ΅ ΠΊΠΎΠ΄Ρƒ, Ρ…ΡƒΠΆΠ΅, Ρ‡Π΅ΠΌ отсутствиС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π². ВсСгда исправляйтС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, Ссли мСняСтС ΠΊΠΎΠ΄!

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹ΠΌΠΈ прСдлоТСниями. Если ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ β€” Ρ„Ρ€Π°Π·Π° ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠ΅Ρ€Π²ΠΎΠ΅ слово Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ написано с большой Π±ΡƒΠΊΠ²Ρ‹, Ссли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ это Π½Π΅ имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, которая начинаСтся с малСнькой Π±ΡƒΠΊΠ²Ρ‹ (Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ отступайтС ΠΎΡ‚ этого ΠΏΡ€Π°Π²ΠΈΠ»Π° для ΠΈΠΌΠ΅Π½ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…).

Π‘Ρ‚Π°Π²ΡŒΡ‚Π΅ Π΄Π²Π° ΠΏΡ€ΠΎΠ±Π΅Π»Π° послС Ρ‚ΠΎΡ‡ΠΊΠΈ Π² ΠΊΠΎΠ½Ρ†Π΅ прСдлоТСния.

Если Π²Ρ‹ β€” программист, Π½Π΅ говорящий ΠΏΠΎ-английски, Ρ‚ΠΎ всё Ρ€Π°Π²Π½ΠΎ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ английский язык для написания ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π². ОсобСнно, Ссли Π½Π΅Ρ‚ увСрСнности Π½Π° 120% Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ этот ΠΊΠΎΠ΄ Π±ΡƒΠ΄ΡƒΡ‚ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ люди, говорящиС Π½Π° вашСм Ρ€ΠΎΠ΄Π½ΠΎΠΌ языкС.

8.1 Π‘Π»ΠΎΠΊΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π²

Π‘Π»ΠΎΠΊ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ ΠΊΠΎΠ΄ (вСсь ΠΈΠ»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ), ΠΈΠ΄ΡƒΡ‰ΠΈΠΉ послС Π±Π»ΠΎΠΊΠ°, ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΆΠ΅ отступ, Ρ‡Ρ‚ΠΎ ΠΈ сам ΠΊΠΎΠ΄. КаТдая строчка Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с символа # ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ±Π΅Π»Π° послС Π½Π΅Π³ΠΎ (Ссли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сам тСкст коммСнтария Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ отступа).

8.2 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π² строкС с ΠΊΠΎΠ΄ΠΎΠΌ

Π‘Ρ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ Ρ€Π΅ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ.

Π’Π°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ находится Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ строкС, Ρ‡Ρ‚ΠΎ ΠΈ инструкция. «ВстрочныС» ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΡ‚Π΄Π΅Π»ΡΡ‚ΡŒΡΡ хотя Π±Ρ‹ двумя ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ ΠΎΡ‚ инструкции. Они Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с символа # ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ±Π΅Π»Π°.

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π² строкС с ΠΊΠΎΠ΄ΠΎΠΌ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹ ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚Π²Π»Π΅ΠΊΠ°ΡŽΡ‚ ΠΎΡ‚ чтСния, Ссли ΠΎΠ½ΠΈ ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‚ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΠ΅.

8.3 Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ

БоглашСния ΠΎ написании Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ (docstrings) зафиксированы Π² PEP 257.

ΠžΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ стояли Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ строкС. А Π΅Ρ‰Π΅ Π»ΡƒΡ‡ΡˆΠ΅, Ссли ΠΏΠ΅Ρ€Π΅Π΄ Π½ΠΈΠΌΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π΅Ρ‰Ρ‘ ΠΈ пустая строка.

Для однострочной Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ «»» Π½Π° Ρ‚ΠΎΠΉ ΠΆΠ΅ строкС.

9. Π¦ΠΈΠΊΠ»Ρ‹

9.1 Π¦ΠΈΠΊΠ»Ρ‹ ΠΏΠΎ спискам

Если Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΏΠΎ всСм элСмСнтам списка, Ρ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ Ρ‚ΠΎΠ½ΠΎΠΌ (Π΄Π° ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ) Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ способ:

И хотя Π±Ρ‹Π²Π°Π»Ρ‹Π΅ программисты ΠΈΠ»ΠΈ просто Π»ΡŽΠ±ΠΈΡ‚Π΅Π»ΠΈ C ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄, это ΠΌΠΎΠ²Π΅Ρ‚ΠΎΠ½.

А Ссли Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΏΠΎ списку Π·Π°Π΄ΠΎΠΌ Π½Π°ΠΏΠ΅Ρ€Π΅Π΄, Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ reversed:

ВмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈ читаСтся-Ρ‚ΠΎ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ внятно.

9.2 Π¦ΠΈΠΊΠ»Ρ‹ ΠΏΠΎ списку чисСл

Если Π΅ΡΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΏΠΎ ряду чисСл, Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ range Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠ΅Π΅, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ потрСбляСт Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ мСньшС памяти, Ρ‡Π΅ΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π² Π±Π»ΠΎΠΊΠ΅ «ΠŸΠ»ΠΎΡ…ΠΎ». А ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρƒ вас ряд ΠΈΠ· Ρ‚Ρ€Ρ‘Ρ… ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄ΠΎΠ² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… чисСл!

9.3 Π¦ΠΈΠΊΠ»Ρ‹ ΠΏΠΎ спискам с индСксами

ΠœΠ΅Ρ‚ΠΎΠ΄ enumerate позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ сразу индСкс ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· списка, Ρ‡Ρ‚ΠΎ, Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, прСдоставляСт мноТСство возмоТностСй для дальшнСйшСго проСктирования, Π° Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ Π»Π΅Π³Ρ‡Π΅ читаСтся ΠΈ воспринимаСтся.

9.4 Π¦ΠΈΠΊΠ»Ρ‹ ΠΏΠΎ Π΄Π²ΡƒΠΌ спискам

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ zip, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΈΠ· Π΄Π²ΡƒΡ… списков ΠΎΠ΄ΠΈΠ½ список ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ для дальнСйшСго использования ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ мСньшС памяти. Π”Π° ΠΈ просто этот Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π±ΠΎΠ»Π΅Π΅ элСгантный.

10. Π˜ΠΌΠΏΠΎΡ€Ρ‚Ρ‹

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠΌΠΏΠΎΡ€Ρ‚, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ строкС.

Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊ:

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

Наряду с Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, ΠΈΠΌΠΏΠΎΡ€Ρ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ отсортированы лСксикографичСски, нСрСгистрозависимо, согласно ΠΏΠΎΠ»Π½ΠΎΠΌΡƒ ΠΏΡƒΡ‚ΠΈ Π΄ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ модуля.

РСкомСндуСтся Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎ ΠΈ Π²Π΅Π΄Π΅Ρ‚ сСбя Π»ΡƒΡ‡ΡˆΠ΅ (ΠΈΠ»ΠΈ, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, Π΄Π°Ρ‘Ρ‚ понятныС сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…), Ссли импортируСмая систСма настроСна Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π΄Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π° заканчиваСтся Π½Π° sys.path ).

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, явный ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠΌΠΏΠΎΡ€Ρ‚ являСтся ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΎΠΉ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠΌΡƒ ΠΈΠΌΠΏΠΎΡ€Ρ‚Ρƒ, особСнно ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ со слоТными ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ, Π³Π΄Π΅ использованиС Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ³ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° Π±Ρ‹Π»ΠΎ Π±Ρ‹ излишнС ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌ.

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ шаблонов ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΎΠ² ( from import * ), Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π΄Π΅Π»Π°ΡŽΡ‚ нСясным Ρ‚ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π² глобальном пространствС ΠΈΠΌΡ‘Π½, Ρ‡Ρ‚ΠΎ Π²Π²ΠΎΠ΄ΠΈΡ‚ Π² Π·Π°Π±Π»ΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»Π΅ΠΉ, Ρ‚Π°ΠΊ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ срСдства.

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с ΠΏΠΎΠ»Π½ΠΎΠΉ вСрсиСй соглашСния ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° Python (PEP 8)

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

РусскиС Π‘Π»ΠΎΠ³ΠΈ

Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΡ€ΡƒΠ³Π»Ρ‹ΠΌΠΈ скобками ΠΈ ΠΊΡ€ΡƒΠ³Π»Ρ‹ΠΌΠΈ скобками Π² Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобках Python

Π’ языкС Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚Ρ€ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнныС ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ: ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки (), ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки [] ΠΈ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки <>. Π•Π³ΠΎ Ρ€ΠΎΠ»ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Π°, ΠΈ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для прСдставлСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π±Π°Π·ΠΎΠ²Ρ‹Ρ… встроСнных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Python. Π§Ρ‚ΠΎΠ±Ρ‹
1. ΠšΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки () Π² python: ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ. ΠœΠ΅Ρ‚ΠΎΠ΄ создания ΠΎΡ‡Π΅Π½ΡŒ прост, Π² основном Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки.

ΠŸΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°, Ссли ΠΎΠ½ содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ элСмСнт, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ послС Π½Π΅Π³ΠΎ Π·Π°ΠΏΡΡ‚ΡƒΡŽ. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π΅ являСтся ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΌ

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹, Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для элСмСнта ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ уровня ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°, элСмСнт Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ уровня Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ списка Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ список Π²Π»ΠΎΠΆΠ΅Π½ Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆ), ΠΈ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Ρ†ΠΈΠΊΠ»Π΅Π½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†ΠΈΠΊΠ»Π° for, поэтому ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Ρ‚Π°ΠΊΠΆΠ΅ являСтся ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Ρ‚Π°ΠΊΠΆΠ΅ упорядочСн, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

2. ΠšΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки [] Π² python: ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… списка, Π° список прСдставляСт собой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π•Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ создания прост ΠΈ особСнный, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

3. Π€ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки Python <> Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки: ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… словаря dict, ΠΈ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ состоит ΠΈΠ· Π³Ρ€ΡƒΠΏΠΏ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ°Ρ€ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ. Π”Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ ’:’ раздСляСт ΠΊΠ»ΡŽΡ‡ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π° запятая ’,’ раздСляСт Π³Ρ€ΡƒΠΏΠΏΡƒ. ΠœΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠ° создания скобок выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π’ python строки, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΈnumbersΠ­Ρ‚ΠΎ нСизмСняСмый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ list, dict ΠΈ Ρ‚. Π”. Π―Π²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ.

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ присваиваСтся a = 5, Π·Π°Ρ‚Π΅ΠΌ присваиваСтся a = 10. Π—Π΄Π΅ΡΡŒ фактичСски создаСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ значСния Ρ‚ΠΈΠΏΠ° int 10, ΠΈ a указываСтся Π½Π° Π½Π΅Π³ΠΎ, Π° 5 отбрасываСтся, Π½Π΅ измСняя Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ a, Ρ‡Ρ‚ΠΎ эквивалСнтно Π½ΠΎΠ²ΠΎΠΌΡƒ созданию a.

ΠŸΡ€ΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ la = [1,2,3,4], Π° Π·Π°Ρ‚Π΅ΠΌ присваиваниС la [2] = 5 Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ значСния Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ элСмСнта списка la, само la Π½Π΅ измСняСтся, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π°ΡΡ‚ΡŒ Π΅Π³ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ значСния.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

F-строка Π² Python – ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½Ρ‹ΠΉ способ форматирования

Π’ этом руководствС ΠΌΡ‹ ΡƒΠ·Π½Π°Π΅ΠΌ ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ΅ форматирования строк. F-строка – Π»ΡƒΡ‡ΡˆΠΈΠΉ способ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ строку. Π‘Ρ‚ΠΈΠ»ΡŒ форматирования строки Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π΅ Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠΉ, ΠΊΡ€Π°Ρ‚ΠΊΠΎΠΉ ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½Π½ΠΎΠΉ ошибкам. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ быстрСС, Ρ‡Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ способы.

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΡƒΠ³Π»ΡƒΠ±ΠΈΡ‚ΡŒΡΡ Π² эту Ρ‚Π΅ΠΌΡƒ, ΠΌΡ‹ сначала обсудим Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ использовались Π΄ΠΎ строки f.

Π‘Ρ‚Π°Ρ€Ρ‹ΠΉ ΡΡ‚ΠΈΠ»ΡŒ форматирования строки Π² Python

БущСствуСт Π΄Π²Π° основных способа форматирования строки: % – Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ str.format(). Но Ρƒ ΠΎΠ±ΠΎΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π΅ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ограничСния. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΊΡ€Π°Ρ‚ΠΊΠΎ познакомимся с этими ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ.

% – Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π­Ρ‚ΠΎ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ способ форматирования строки, ΠΎΠ½ рСкомСндуСтся Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, содСрТащСй ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ.

β€œΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ форматирования, описанныС здСсь, Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚ мноТСство ΠΏΡ€ΠΈΡ‡ΡƒΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ приводят ΠΊ нСскольким распространСнным ошибкам (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌΡƒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ ΠΈ словарСй).

ИспользованиС Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… строковых Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ² ΠΈΠ»ΠΈ интСрфСйса str.format() ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ этих ошибок. β€œ- ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ докумСнтация.

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ% – Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ для хранСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

Когда Π½Π΅ рСкомСндуСтся

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΡ€ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ Π΄Π»ΠΈΠ½Ρ‹ строки наш ΠΊΠΎΠ΄ становится всС Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ, ΠΎΠ½ выглядит Π·Π°ΠΏΡƒΡ‚Π°Π½Π½Ρ‹ΠΌ. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄Π°, ΠΊΠΎΠ΄ стал Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½Π½Ρ‹ΠΌ ошибкам. Π’ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ Ρ‚Π°ΠΊΠΎΠΉ способ форматирования строки Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚.

ΠœΠ΅Ρ‚ΠΎΠ΄ str.format()

Π­Ρ‚ΠΎ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ популярный способ форматирования строки, прСдставлСнный Π² Python 2.6. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ это ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ str.format()

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ элСмСнту словаря Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° форматирования, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ format().

Когда ΠΌΠ΅Ρ‚ΠΎΠ΄ str.format() Π½Π΅ рСкомСндуСтся?

F-строчный ΠΌΠ΅Ρ‚ΠΎΠ΄

Π­Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ форматирования строк, прСдставлСнный PEP 498. Он Ρ‚Π°ΠΊΠΆΠ΅ извСстСн ΠΊΠ°ΠΊ интСрполяция Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΡŒΠ½ΠΎΠΉ строки ΠΈΠ»ΠΈ, Ρ‡Π°Ρ‰Π΅, ΠΊΠ°ΠΊ F-строки (символ f, ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ строковому Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρƒ). Основная Π·Π°Π΄Π°Ρ‡Π° этого ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° – ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΠΎΠ»ΡΡ†ΠΈΡŽ.

Когда ΠΌΡ‹ добавляСм строкС Π±ΡƒΠΊΠ²Ρƒ β€˜F, строка сама становится f-строкой. F-строка ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄ str.format(). F-строка ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ способ встраивания выраТСния Python Π² строковыС Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ для форматирования.

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄Π΅ ΠΌΡ‹ использовали f-строку для форматирования строки. Она оцСниваСтся Π²ΠΎ врСмя выполнСния; ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² Π½Π΅Π΅ всС допустимыС выраТСния Python.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ Π² ΠΎΠ΄Π½ΠΎΠΌ заявлСнии.

Однако ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

F-строка Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ класса. Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅.

F-строка Π² словарС

ΠœΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΡΠ²Π»ΡΡ‚ΡŒ ΠΎΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ со словарными ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ f-строки. Π•ΡΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ†ΠΈΡ‚Π°Ρ‚Ρ‹ для использования словарных ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΈ f-строки. Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅.

Π’ случаС словаря ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½ΠΈΠΆΠ΅ Π½Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½.

Как ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄Π΅, ΠΌΡ‹ мСняСм Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ Π½Π° ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅, ΠΈ это Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ.

Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ

ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° Π°Π΄Π°ΠΏΡ‚Π°Ρ†ΠΈΠΈ этого стиля форматирования – Π΅Π³ΠΎ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ. F-строка оцСниваСтся Π²ΠΎ врСмя выполнСния, Π° Π½Π΅ постоянных Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Она встраиваСт Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² строковыС Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ синтаксис. Π­Ρ‚ΠΎ быстро, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΎΡ†Π΅Π½ΠΈΠ²Π°Π΅Ρ‚ Π²ΠΎ врСмя выполнСния, Π° Π½Π΅ Π² постоянных значСниях.

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ сравнСниС строк.

Как ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, f-строка находится Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части списка.

Π€ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки

Π§Ρ‚ΠΎΠ±Ρ‹ Π² ΠΊΠΎΠ΄Π΅ появлялись Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅. Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅.

Если ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ‚Ρ€ΠΎΠΉΠ½Ρ‹Π΅ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки, Π² нашСй строкС Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ большСС количСство Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок, Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅ Ρ‚Ρ€ΠΎΠΉΠ½Ρ‹Ρ… Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок.

ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ косая Ρ‡Π΅Ρ€Ρ‚Π°

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ экранированиС ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ косой Ρ‡Π΅Ρ€Ρ‚Ρ‹ Π² строковой части f-строки. Однако ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΊΠΎΡΡƒΡŽ Ρ‡Π΅Ρ€Ρ‚Ρƒ для экранирования Π² части выраТСния f-строки. Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅.

ВстроСнныС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

ΠœΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ символ #. Π­Ρ‚ΠΎ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΡΠΈΠ½Ρ‚Π°ΠΊΡΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ любой ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΠ· Ρ‚Ρ€Π΅Ρ…, Π½ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ f-строки обСспСчиваСт Π±ΠΎΠ»Π΅Π΅ сТатый, Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ способ. Π­Ρ‚ΠΎ быстрСС ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½ΠΎ ошибкам. ΠœΡ‹ объяснили ΠΏΠΎΡ‡Ρ‚ΠΈ всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ сцСнарии ΠΈ объяснили, ΠΏΠΎΡ‡Π΅ΠΌΡƒ слСдуСт ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Python с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ f-строк

Π’ этом руководствС Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΈ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…, ΠΊΠ°ΠΊΠΈΠ΅ прСимущСства для форматирования Π΄Π°Π΅Ρ‚ использованиС f-строк Π² Python.

ВступлСниС

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ строк?

Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ строк β€” это ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ строк с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² форматирования, ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ языком программирования. Π’ Python Ρ‚Π°ΠΊΠΈΡ… нСсколько, Π½ΠΎ Ρ€Π΅Ρ‡ΡŒ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ± ΠΎΠ΄Π½ΠΎΠΌ: f-строках.

f-строки ΠΈΡΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ исполнСнии самой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π­Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстрСС Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

Π£ f-строк Π±ΠΎΠ»Π΅Π΅ простой синтаксис Π² сравнСнии с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ°ΠΌΠΈ форматирования Python. Π­Ρ‚Π° ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ рассмотрСна Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ….

Бинтаксис

КаТдая инструкция f-строки состоит ΠΈΠ· Π΄Π²ΡƒΡ… частСй: символа f (ΠΈΠ»ΠΈ F ) ΠΈ строки, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½ΡƒΠΆΠ½ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π² ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ…, Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… ΠΈΠ»ΠΈ Ρ‚Ρ€ΠΎΠΉΠ½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ….

На мСстС string Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ трСбуСтся ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

ВыраТСния

Π§Ρ‚ΠΎ, Ссли ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ арифмСтичСскиС выраТСния ΠΈΠ»ΠΈ Π²Ρ‹Π·ΠΎΠ²Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² строкС? Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ. И f-строки ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ это.

ΠŸΡ€ΠΎΡΡ‚ΠΎ Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² <> для исполнСния. Оно выполнится ΠΏΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π­ΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ врСмя ΠΈ ΠΊΠΎΠ΄.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

Π’Π°ΠΊΠΆΠ΅ Π² <> ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ greet() ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ΠΌ Π΅Π΅ Π² f-строкС.

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.

Π§Ρ‚ΠΎ Π΅Ρ‰Π΅ ΡƒΠΌΠ΅Π΅Ρ‚ f-строка? ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚? Π”Π°. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ это Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы

ΠšΠ°Π²Ρ‹Ρ‡ΠΊΠΈ

Рассмотрим Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ….

Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ Π² f-строках.

<> Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² Ρ‚Ρ€ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ.

Π‘ΠΊΠΎΠ±ΠΊΠΈ

Π”Π²ΠΎΠΉΠ½Ρ‹Π΅ скобки Π½ΡƒΠΆΠ½Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ вывСсти ΠΎΠ΄Π½ΠΈ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки Π² f-строкС.

Если Π½ΡƒΠΆΠ½ΠΎ вывСсти Π΄Π²Π΅ ΠΏΠ°Ρ€Ρ‹ скобок, Ρ‚ΠΎ Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ потрСбуСтся ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅.

Π‘Π»ΠΎΠ²Π°Ρ€ΠΈ

НуТно Π±Ρ‹Ρ‚ΡŒ остороТным, работая с ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ словаря Π² f-строкС. НСобходимо ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ ΠΊΠ»ΡŽΡ‡Π°ΠΌ. Они Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½Π° f-строка.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

F-строки Python 3: ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½Ρ‹ΠΉ синтаксис форматирования строк

Начиная с Python 3.6, f-строки β€” ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ Π½ΠΎΠ²Ρ‹ΠΉ способ форматирования строк. Π­Ρ‚ΠΎ способ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»Π΅Π½, Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€Π°Ρ‚ΠΎΠΊ ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½ ошибкам, Ρ‡Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ способы форматирования, Π½ΠΎ ΠΈ быстрСС всСх Π΄Ρ€ΡƒΠ³ΠΈΡ…!

К ΠΊΠΎΠ½Ρ†Ρƒ этой ΡΡ‚Π°Ρ‚ΡŒΠΈ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ f-строки.

Но сначала, рассмотрим старыС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Π²Ρ‹Π²ΠΎΠ΄Π° строк.

β€œΠ‘Ρ‚Π°Ρ€Π°Ρ-ΡˆΠΊΠΎΠ»Π°β€ форматирования строк Π² Python

Π”ΠΎ Python 3.6 Ρƒ нас Π±Ρ‹Π»ΠΎ Π΄Π²Π° основных способа встраивания Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Python Π² строковыС Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ для форматирования: % β€” Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ str.format(). Рассмотрим, ΠΊΠ°ΠΊ ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΊΠ°ΠΊΠΎΠ²Ρ‹ ΠΈΡ… ограничСния.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ #1: % β€” Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π­Ρ‚ΠΎΡ‚ способ форматирования Python сущСствуСт Π² языкС с самого Π΅Π³ΠΎ Π½Π°Ρ‡Π°Π»Π°. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎ Π½Π΅ΠΌ большС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΠΎ Python. Π˜ΠΌΠ΅ΠΉΡ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ % β€” Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ рСкомСндуСтся ΠΊ использованию:

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ форматирования, описанныС здСсь, Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ приводят ΠΊ ряду распространСнных ошибок (Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ ΠΈ словарСй).
ИспользованиС Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… строковых Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ² ΠΈΠ»ΠΈ интСрфСйса str.format() ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ этих ошибок. Π­Ρ‚ΠΈ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹Π΅, Π³ΠΈΠ±ΠΊΠΈΠ΅ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΊ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ тСкста. (Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ)

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ % β€” Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ с использованиСм ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° %, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для форматирования строк. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ это выглядит Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅:

Π§Ρ‚ΠΎΠ±Ρ‹ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ΠΈΠ· этих ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

НСдостатки % β€” форматирования

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ Π²ΠΈΠ΄Π΅Π»ΠΈ Π²Ρ‹ΡˆΠ΅, достаточно Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹. Однако, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ Π½Π°Ρ‡Π½Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСсколько ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈ Π±ΠΎΠ»Π΅Π΅ Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ строки, ваш ΠΊΠΎΠ΄ быстро станСт ΠΌΠ΅Π½Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ. ВсС Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ грязно:

К соТалСнию, этот Π²ΠΈΠ΄ форматирования Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ многословСн ΠΈ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ошибкам, Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ ΠΈΠ»ΠΈ словарСй. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, Π΅ΡΡ‚ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ #2: str.format()

Π­Ρ‚ΠΎΡ‚ Π½ΠΎΠ²Ρ‹ΠΉ способ Π²Ρ‹Π²ΠΎΠ΄Π° строк Π±Ρ‹Π» прСдставлСн Π² Python 2.6. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Python для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ str.format()

str.format() β€” это ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ % β€” форматирования. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ синтаксис Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° __format__() для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π² строку.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ str.format() поля Π²Ρ‹Π²ΠΎΠ΄Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Ρ‹ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹ΠΌΠΈ скобками:

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² любом порядкС, ΡΡΡ‹Π»Π°ΡΡΡŒ ΠΏΠΎ ΠΈΡ… индСксам:

Но Ссли Π²Ρ‹ вставитС ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π° Π·Π°Ρ‚Π΅ΠΌ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹ΠΌΠΈ скобками:

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ символ **, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот Ρ‚Ρ€Π΅ΠΊ со словарями:

str.format() ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ являСтся ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с % β€” Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, Π½ΠΎ ΠΈ Ρƒ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ свои нСдостатки.

Π’ Ρ‡Π΅ΠΌ нСдостатки str.format()

Если Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π² .format() Π² словарС, Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ .format (** some_dict) ΠΈ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° значСния ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ Π² строкС.

f-Π‘Ρ‚Ρ€ΠΎΠΊΠΈ: Π½ΠΎΠ²Ρ‹ΠΉ ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½Ρ‹ΠΉ способ форматирования строк Π² Python

f-строки Π±Ρ‹Π»ΠΈ прСдставлСны Π² Python 3.6. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ± этом Π² PEP 498, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» написан Π­Ρ€ΠΈΠΊΠΎΠΌ Π’. Π‘ΠΌΠΈΡ‚ΠΎΠΌ Π² августС 2015 Π³ΠΎΠ΄Π°.

Π’Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Β«formatted string literalsΒ»(Β«ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ строковыС Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹Β»), f-строки β€” это строковыС Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ f Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΈ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки, содСрТащиС выраТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ‹ ΠΈΡ… значСниями. ВыраТСния ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π²ΠΎ врСмя выполнСния, Π° Π·Π°Ρ‚Π΅ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ с использованиСм ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° format. Как всСгда, докумСнтация Python β€” ваш Π΄Ρ€ΡƒΠ³, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ большС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

Π’ΠΎΡ‚ нСсколько способов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ f-строки ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Π°ΡˆΡƒ Тизнь ΠΏΡ€ΠΎΡ‰Π΅.

ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ синтаксис

Бинтаксис ΠΏΠΎΡ…ΠΎΠΆ Π½Π° Ρ‚ΠΎΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ использовали с str.format(), Π½ΠΎ ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅, насколько Π»Π΅Π³ΠΊΠΎ это читаСтся:

Π’Π°ΠΊΠΆΠ΅ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π³Π»Π°Π²Π½ΡƒΡŽ Π±ΡƒΠΊΠ²Ρƒ F:

Π’Ρ‹ Π΅Ρ‰Π΅ Π½Π΅ любишь f β€” строки? Π― надСюсь, Ρ‡Ρ‚ΠΎ ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ этой ΡΡ‚Π°Ρ‚ΡŒΠΈ Π²Ρ‹ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚Π΅ >>> F»Yes!»

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ выраТСния

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ f-строки ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π²ΠΎ врСмя выполнСния, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² Π½ΠΈΡ… всС допустимыС выраТСния Python. Π­Ρ‚ΠΎ позволяСт Π²Π°ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ изящныС Π²Π΅Ρ‰ΠΈ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ довольно простоС, ΠΊΠ°ΠΊ это:

Но Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄:

Π’Ρ‹ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, созданныС ΠΈΠ· классов с f-строками. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ класс:

Π’Ρ‹ смоТСтС ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это:

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ __str__() ΠΈ __repr__() ΠΈΠΌΠ΅ΡŽΡ‚ Π΄Π΅Π»ΠΎ с Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ строк, поэтому Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· этих ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ класса. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ __repr__(), ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ вмСсто __str__().

Π‘Ρ‚Ρ€ΠΎΠΊΠ°, возвращаСмая __str__(), являСтся Π½Π΅Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ строковым прСдставлСниСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΠΉ. Π‘Ρ‚Ρ€ΠΎΠΊΠ°, возвращаСмая __repr__(), являСтся ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ прСдставлСниСм ΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎΠΉ. Π’Ρ‹Π·ΠΎΠ² str() ΠΈ repr() ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅ прямого использования __str__ () ΠΈ __repr__().

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ f-строки Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ __str__(), Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ __repr__(), Ссли Π²Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Ρ„Π»Π°Π³ прСобразования !r:

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ большС, ΠΎ f-строк ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΏΠΎΠ»Π½Ρ‹Π΅ выраТСния Python, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это здСсь.

ΠœΠ½ΠΎΠ³ΠΎΡΡ‚Ρ€ΠΎΡ‡Π½Ρ‹Π΅ f-строки

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ многострочныС строки:

Но ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Β«fΒ» ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкой многострочной строки. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ:

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ строки ΠΏΠΎ нСскольким строкам, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ‚Π°ΠΊ ΠΆΠ΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ \:

Или с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ «»»:

Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ

Π‘ΠΈΠΌΠ²ΠΎΠ» f Π² f β€” строках Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ «быстро» (fast).

f-строки быстрСС, Ρ‡Π΅ΠΌ % β€” Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ str.format(). Как Π²Ρ‹ ΡƒΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ, f-строки β€” это выраТСния, вычисляСмыС Π²ΠΎ врСмя выполнСния, Π° Π½Π΅ постоянныС значСния. Π’ΠΎΡ‚ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΈΠ· Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²:

Β«f-строки ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ способ встраивания Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² строковыС Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ синтаксис. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ f-строка Π½Π° самом Π΄Π΅Π»Π΅ являСтся Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, вычисляСмым Π²ΠΎ врСмя выполнСния, Π° Π½Π΅ постоянным Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ. Π’ исходном ΠΊΠΎΠ΄Π΅ Python f-строка являСтся Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΡŒΠ½ΠΎΠΉ строкой с прСфиксом f, которая содСрТит выраТСния Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок. ВыраТСния Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΈΡ… значСниями Β». (Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ)

Π’ΠΎ врСмя выполнСния Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок оцСниваСтся Π² собствСнной области видимости ΠΈ Π·Π°Ρ‚Π΅ΠΌ помСщаСтся вмСстС со строковым Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠΌ Π² Ρ‡Π°ΡΡ‚ΡŒ f-строки. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Π°Ρ строка Π·Π°Ρ‚Π΅ΠΌ возвращаСтся. Π­Ρ‚ΠΎ всС, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ.

Π’ΠΎΡ‚ сравнСниС скорости:

Как Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, f-строки выходят Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠ΅ мСсто.

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, это Π½Π΅ всСгда Ρ‚Π°ΠΊ. Когда ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹, Ρƒ Π½ΠΈΡ… Π±Ρ‹Π»ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ со ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ, ΠΈ ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ быстрСС, Ρ‡Π΅ΠΌ str.format(). Π‘Ρ‹Π» Π²Π²Π΅Π΄Π΅Π½ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ BUILD_STRING.

Python f-строки: особСнности использования

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΡƒΠ·Π½Π°Π»ΠΈ всС ΠΎ Ρ‚ΠΎΠΌ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ f-строки Π²Π΅Π»ΠΈΠΊΠΎΠ»Π΅ΠΏΠ½Ρ‹, я ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π’ΠΎΡ‚ нСсколько Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅Ρ‚Π΅ΡΡŒ Π² этот Π΄ΠΈΠ²Π½Ρ‹ΠΉ Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠΈΡ€.

ΠšΠ°Π²Ρ‹Ρ‡ΠΊΠΈ

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. ΠŸΡ€ΠΎΡΡ‚ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ‚ΠΈΠΏΠ° Π½Π° внСшнСй сторонС f-строки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ.

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ:

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ:

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ:

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ ΠΊΠ°ΠΊ Π²Π½ΡƒΡ‚Ρ€ΠΈ, Ρ‚Π°ΠΊ ΠΈ снаруТи строки, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ \:

Π‘Π»ΠΎΠ²Π°Ρ€ΠΈ

Говоря ΠΎ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ…, слСдитС, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ со словарями. Если Π²Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ для ΠΊΠ»ΡŽΡ‡Π΅ΠΉ словаря, Ρ‚ΠΎ Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ для f-строк, содСрТащих ΠΊΠ»ΡŽΡ‡ΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ с синтаксичСской ошибкой:

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ‚ΠΈΠΏ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ Π²ΠΎΠΊΡ€ΡƒΠ³ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ словаря, Ρ‡Ρ‚ΠΎ ΠΈ Π½Π° внСшнСй сторонС f-строки, Ρ‚ΠΎ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ° Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° словаря Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ ΠΊΠΎΠ½Π΅Ρ† строки.

Π€ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки

Π§Ρ‚ΠΎΠ±Ρ‹ Π² скобках появилась скобка, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ скобки:

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ использованиС Ρ‚Ρ€ΠΎΠΉΠ½Ρ‹Ρ… скобок ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π² вашСй строкС Π±ΡƒΠ΄ΡƒΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Π΅ скобки:

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ большС Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок, Ссли Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ большС, Ρ‡Π΅ΠΌ Ρ‚Ρ€ΠΎΠΉΠ½Ρ‹Π΅ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки:

ΠžΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ слСш

Как Π²Ρ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ Ρ€Π°Π½Π΅Π΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ слэши Π² строковой части f-строки. Однако Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΊΠΎΡΡƒΡŽ Ρ‡Π΅Ρ€Ρ‚Ρƒ для экранирования части выраТСния f-строки:

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ это, ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ посчитав Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² f-строкС:

ВстроСнныС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

ВыраТСния Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ символ #. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ это Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΡΠΈΠ½Ρ‚Π°ΠΊΡΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ:

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’Ρ‹ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ старыС способы форматирования строк, Π½ΠΎ с f-строками Ρƒ вас Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΅ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½Ρ‹ΠΉ, Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ способ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ быстрСС ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½ ошибкам. Π£ΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ вашСй ΠΆΠΈΠ·Π½ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ f-строк β€” отличная ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Python 3.6, Ссли Π²Ρ‹ Π΅Ρ‰Π΅ Π½Π΅ сдСлали этого. (Если Π²Ρ‹ всС Π΅Ρ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Python 2, Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ 2020 скоро наступит!)

Богласно Zen of Python, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ β€” ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ β€” ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΉ способ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это. Π₯отя f-строки Π½Π΅ СдинствСнный Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΉ способ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ строки, ΠΎΠ½ΠΈ Π² состоянии ΡΡ‚Π°Ρ‚ΡŒ Ρ‚Π΅ΠΌ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ ΠΈ СдинствСнным способом ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ эту Ρ€Π°Π±ΠΎΡ‚Ρƒ.

Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅Π΅ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ΅ обсуТдСниС интСрполяции строк, взглянитС Π½Π° PEP 502. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊΠ΅ PEP 536 Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ нСсколько мыслСй ΠΎ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ f-строк.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *