Как ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ строку Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

5 Бопособов ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ символы ΠΈΠ· строки Π½Π° Python

Π’ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ‘ str.replace

Π‘ ΠΏΠΎΠΎΠΌΡ‰ΡŒΡŽ str.replace ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ символы Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Если ΠΌΡ‹ просто Ρ…ΠΎΡ‚ΠΈΠΌ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ символы, Ρ‚ΠΎΠ³Π΄Π° просто замСняСм ΠΈΡ… Π½Π° ΠΏΡƒΡΡ‚ΡƒΡŽ строку. str.replace() Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π·Π°ΠΌΠ΅Π½Ρƒ ΠΊΠΎ всСм Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹ΠΌ совподСниям.

Как ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ строку Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

Если ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ для количСства совпадСний, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΡƒΠ±ΠΈΡ€Π°Ρ‚ΡŒ всС символы.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ‘ re.sub

re. sub (pattern, repl, string, count=0, flags=0)

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строку, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΡƒΡŽ ΠΏΡƒΡ‚Π΅ΠΌ Π·Π°ΠΌΠ΅Π½Ρ‹ ΠΊΡ€Π°ΠΉΠ½ΠΈΡ… Π»Π΅Π²Ρ‹Ρ… Π½Π΅ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ…ΡΡ
совпадСний с шаблоном Π² строкС Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ repl. Если совпадСния с шаблоном
Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Ρ‹, возвращаСтся нСизмСнСнная строка
β€” Из Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Python’Π°

Если ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ символы, Ρ‚ΠΎ просто замСняСм совпадСния Π½Π° ΠΏΡƒΡΡ‚ΡƒΡŽ строку.

Как ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ строку Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

Π£Π±Ρ€Π°Ρ‚ΡŒ всС символы, ΠΊΡ€ΠΎΠΌΠ΅ Π±ΡƒΠΊΠ²

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ‘isalpha()’

Как ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ строку Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

isalpha() ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ, состоит Π»ΠΈ строка Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· Π±ΡƒΠΊΠ². Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ True Ссли являСтся Π±ΡƒΠΊΠ²ΠΎΠΉ. ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ символу строки ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ являСтся Π»ΠΈ ΠΎΠ½ Π±ΡƒΠΊΠ²ΠΎΠΉ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

(c for c in s if c.isalpha())

ΠŸΠ΅Ρ€Π΅Π΄ Π½Π°ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€, содСрТащий всС Π±ΡƒΠΊΠ²Ρ‹ ΠΈΠ· строки:
s1=””.join(c for c in s if c.isalpha())

””.join Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ всС символы Π² ΠΎΠ΄Π½Ρƒ строку.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ‘filter()’

f = filter(str.isalpha, s)

Ѐункция filter() Π²Π΅Ρ€Π½Π΅Ρ‚ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€, содСрТащий всС Π±ΡƒΠΊΠ²Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠΉ строки, Π° join() Π±ΡƒΠ΄Π΅ΠΌ «ΡΠΊΠ»Π΅ΠΈΠ²Π°Ρ‚» всС элСмСнты Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ‘re.sub()’

Как ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ строку Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

Рассмотрим s1 = re.sub(β€œ[^A-Za-z]”, ””, s)

Π£Π±Ρ€Π°Ρ‚ΡŒ всС символы, ΠΊΡ€ΠΎΠΌΠ΅ Π±ΡƒΠΊΠ² ΠΈ чисСл

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ‘isalnum()’

Как ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ строку Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

isalnum() ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ состоит строка Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· чисСл ΠΈΠ»ΠΈ Π±ΡƒΠΊΠ².

ΠŸΡ€ΠΎΠΉΠ΄Π΅ΠΌΡΡ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ символу строки, Ρ‡Ρ‚ΠΎ-Π±Ρ‹ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹Π΅ символы.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ‘re.sub()’

Π£Π±Ρ€Π°Ρ‚ΡŒ всС числа ΠΈΠ· строки, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ‘re.sub()’

Как ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ строку Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

Π£Π±ΠΈΡ€Π°Π΅ΠΌ всС символы ΠΈΠ· строки ΠΊΡ€ΠΎΠΌΠ΅ Ρ†ΠΈΡ„Ρ€

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ‘isdecimal()’

isdecimal() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ истину, Ссли всС символы строки ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ†ΠΈΡ„Ρ€Π°ΠΌΠΈ, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС возвращаСтся лоТь.

Как ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ строку Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

ΠŸΠΎΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠΌ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ символу строки ΠΈ провСряСм ΠΈ являСтся Π»ΠΈ ΠΎΠ½ Ρ†ΠΈΡ„Ρ€ΠΎΠΉ. «».join() соСдиняСт всС элСмСнты.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ‘re.sub()’

Рассмотрим s1 = re.sub(β€œ[^0–9]”, ””, s)

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ‘filter()’

Рассмотрим f = filter(str.isdecimal, s)

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Π² Python ΡΠ²Π»ΡΡŽΡ‚ΡΡ нСизмСняСмыми ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, поэтому всС Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΡƒΠ±ΠΈΡ€Π°Π΅Ρ‚ символы ΠΈΠ· Π΄Π°Π½Π½ΠΎΠΉ строки ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΠΎΠ²ΡƒΡŽ, ΠΎΠ½ΠΈ Π½Π΅ ΠΌΠ΅Π½ΡΡŽΡ‚ состояниС ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΉ строки.

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

Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы ΠΈΠ· строки Π² Python

Из-Π·Π° использования Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… символов Π² ΠΊΠΎΠ΄Π΅ часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ошибки. Π­Ρ‚ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы ΠΌΠΎΠ³ΡƒΡ‚ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Ρ‚ΡŒΡΡ Π² строках, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ расскаТСм, ΠΊΠ°ΠΊ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы ΠΈΠ· строки Π² Python.

Π˜Ρ‚Π°ΠΊ, Π½Π°Ρ‡Π½Π΅ΠΌ с открытия ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ ΠΈ приступим!

Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы ΠΈΠ· строки ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ join() ΠΈ isalnum()

Π”Π°Π»ΡŒΡˆΠ΅ Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ v1 строкового Ρ‚ΠΈΠΏΠ°, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ символы. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ print() ΠΌΡ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² консоль.

ПослС запуска нашСго скрипта remove.py ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ строку со ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ символами ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡƒΡŽ строку Π±Π΅Π· ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… символов, ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½ΠΈΠΆΠ΅:

Как ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ строку Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

Как ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ строкС всС лишниС ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы ΡƒΠ΄Π°Π»Π΅Π½Ρ‹. ΠœΡ‹ достигли ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π΄Ρ€ΡƒΠ³ΠΈΠΌ способом.

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… символов ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ join() ΠΈ filter()

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ получаСтся Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, хотя здСсь ΠΌΡ‹ обошлись Π±Π΅Π· Ρ†ΠΈΠΊΠ»Π° ΠΈ условий:

Как ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ строку Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

Наш ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Как ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ строку Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

Π˜Ρ‚Π°ΠΊ, Π² Π²Ρ‹Π²ΠΎΠ΄Π΅ ΠΌΡ‹ спСрва ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ Π΄Π»ΠΈΠ½Π½ΡƒΡŽ строку со ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ символами, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡƒΡŽ строку, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΡƒΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… символов. НуТный Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ достигнут.

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… символов ΠΈΠ· строки с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° sub ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚Π° re

ΠœΠ΅Ρ‚ΠΎΠ΄ sub() ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π³ΠΈΠ±ΠΊΠΎΠΉ Π·Π°ΠΌΠ΅Π½Ρ‹ ΠΎΠ΄Π½ΠΈΡ… символов Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ. Бинтаксис:

Π—Π°Ρ‚Π΅ΠΌ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ… ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ шаблон. Π—Π°Π΄Π°Π½Π½Ρ‹ΠΉ шаблон [^a-Za-Z0-9] соотвСтствуСт всСм символам, НЕ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Π² Π½Π°Π±ΠΎΡ€Π΅ (символ ^ Π² Π½Π°Ρ‡Π°Π»Π΅ Π½Π°Π±ΠΎΡ€Π° слуТит для инвСртирования).

ПослС этого ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ, Π½Π° Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ символы β€” Π½Π° ΠΏΡƒΡΡ‚ΡƒΡŽ строку. Π’ самом ΠΊΠΎΠ½Ρ†Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ строку, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΊΠ°Ρ‚ΡŒ, β€” пишСм имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Запустим наш ΠΊΠΎΠ΄ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ строку ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡƒΡŽ:

Как ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ строку Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π΅ΡΡ‚ΡŒ нСсколько способов ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы ΠΈΠ· строки. И рСгулярныС выраТСния – ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ…. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΏΡ€ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ re ΠΈ рСгулярныС выраТСния ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ «РСгулярныС выраТСния Π² PythonΒ».

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

НадССмся, Π΄Π°Π½Π½ΠΎΠ΅ руководство Π±Ρ‹Π»ΠΎ Π²Π°ΠΌ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ. Π–Π΅Π»Π°Π΅ΠΌ успСхов Π² написании ΠΊΠΎΠ΄Π°!

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

ΠžΡΠ½ΠΎΠ²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками Π² Python

Π”ΠΎ сих ΠΏΠΎΡ€ ΠΌΡ‹ обсуТдали числа ΠΊΠ°ΠΊ стандартныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² Python. Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ руководства ΠΌΡ‹ обсудим самый популярный Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ строку ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками Π² Python.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ строка Π² Python?

Π‘Ρ‚Ρ€ΠΎΠΊΠ° Python – это Π½Π°Π±ΠΎΡ€ символов, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… Π² ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅, Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΈΠ»ΠΈ Ρ‚Ρ€ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ. ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ пСрсонаТСй; Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ½ Ρ…Ρ€Π°Π½ΠΈΡ‚ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ символ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ Π½ΡƒΠ»Π΅ΠΉ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ символ кодируСтся символом ASCII ΠΈΠ»ΠΈ Unicode. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ строки Python Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π°Π±ΠΎΡ€ΠΎΠΌ символов Unicode.

Π’ Python строки ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ, Π·Π°ΠΊΠ»ΡŽΡ‡Π°Ρ символ ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ. Python позволяСт Π½Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ ΠΈΠ»ΠΈ Ρ‚Ρ€ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ для создания строки.

Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° Python для создания строки.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ str с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ скрипта

Π’ Python строки Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Python Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…; вмСсто этого ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹ΠΉ символ, записанный ΠΊΠ°ΠΊ β€˜p’, рассматриваСтся ΠΊΠ°ΠΊ строка Π΄Π»ΠΈΠ½Ρ‹ 1.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ строки Π² Python

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ строку, Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΠ² символы Π² ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ. Python Ρ‚Π°ΠΊΠΆΠ΅ прСдоставляСт Ρ‚Ρ€ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ для прСдставлСния строки, Π½ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для многострочных строк ΠΈΠ»ΠΈ строк Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Ρ€Π°Π·Π±ΠΈΠ²ΠΊΠ° строк

Как ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках, индСксированиС строк Python начинаСтся с 0. НапримСр, строка Β«HELLOΒ» индСксируСтся, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° рисункС Π½ΠΈΠΆΠ΅.

Как ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ строку Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Как ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² Python, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ slice [] ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для доступа ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ символам строки. Однако ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€:(Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅) Π² Python для доступа ΠΊ подстрокС ΠΈΠ· Π΄Π°Π½Π½ΠΎΠΉ строки. Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

Как ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ строку Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ срСза, всСгда являСтся ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΌ, Ρ‚.Π΅. Ссли Π·Π°Π΄Π°Π½ΠΎ str = β€˜HELLO’, Ρ‚ΠΎΠ³Π΄Π° str [1: 3] всСгда Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ str [1] = β€˜E’, str [2 ] = β€˜L’ ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ большС.

Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Как ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ строку Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

ΠŸΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ строк

ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ содСрТимоС строк Ρ‚Π°ΠΊ ΠΆΠ΅ просто, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½ΠΎΠ²ΠΎΠΉ строкС. Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ присвоСниС элСмСнта, Ρ‚. Π΅. строка ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΌΠ΅Π½Π΅Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΠΎΠ²ΠΎΠΉ строкой, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π΅Π΅ содСрТимоС Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ частично Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΎ. Π‘Ρ‚Ρ€ΠΎΠΊΠΈ нСизмСняСмы Π² Python.

Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

Однако Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ 1 строку str ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π½ΠΎΠ²ΠΎΠΌΡƒ содСрТимому, это ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅.

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ строки

Как ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, строки нСизмСняСмы. ΠœΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ символы ΠΈΠ· строки. Но ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всю строку с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова del.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ удаляСм всю строку.

Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
+Он извСстСн ΠΊΠ°ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для соСдинСния строк ΠΏΠΎ ΠΎΠ±Π΅ стороны ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°.
*Π˜Π·Π²Π΅ΡΡ‚Π΅Π½ ΠΊΠ°ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ повторСния. Он ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ нСсколько ΠΊΠΎΠΏΠΈΠΉ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ строки.
[]ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ срСза. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для доступа ΠΊ подстрокам ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ строки.
[:]ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ срСза Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для доступа ΠΊ символам ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°.
inΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ члСнства. Он возвращаСтся, Ссли Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ строкС присутствуСт опрСдСлСнная подстрока.
not inΠ’Π°ΠΊΠΆΠ΅ являСтся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ члСнства ΠΈ выполняСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ in. Он Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ истину, Ссли Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ строкС отсутствуСт конкрСтная подстрока.
r / RΠ˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для указания Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΉ строки. НСобработанныС строки ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ вывСсти фактичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ escape-символов, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Β«C: // pythonΒ». Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ строку ΠΊΠ°ΠΊ Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΡƒΡŽ, Π·Π° символом r ΠΈΠ»ΠΈ R слСдуСт строка.
%НСобходим для форматирования строк. ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ спСцификаторы Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° C, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ %d ΠΈΠ»ΠΈ %f, для сопоставлСния ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² python. ΠœΡ‹ Π΅Ρ‰Π΅ обсудим, ΠΊΠ°ΠΊ выполняСтся Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Python.

Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ΅ использованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Python.

Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ строки Python

Π£ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ тСкст – They said, β€œHello what’s going on?” – Π΄Π°Π½Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ записан Π² ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, Π½ΠΎ ΠΎΠ½ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ SyntaxError, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ содСрТит ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅, Ρ‚Π°ΠΊ ΠΈ Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ.

Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ΅ использованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Python.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, Π½ΠΎ Python прСдоставляСт escape-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

Π‘ΠΈΠΌΠ²ΠΎΠ» ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ косой Ρ‡Π΅Ρ€Ρ‚Ρ‹(/) ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ escape-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π—Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ косой Ρ‡Π΅Ρ€Ρ‚ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ символ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ интСрпрСтируСтся ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ. ΠžΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ строки Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ экранированы. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎ ΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ ΠΈ Π² Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ….

Бписок escape-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π½ΠΈΠΆΠ΅:

Π’ΠΎΡ‚ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ escape-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ escape-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ· Π΄Π°Π½Π½ΠΎΠΉ строки, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΡƒΡŽ строку. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это, написав r ΠΈΠ»ΠΈ R ΠΏΠ΅Ρ€Π΅Π΄ строкой. Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

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

ΠœΠ΅Ρ‚ΠΎΠ΄ format() – самый Π³ΠΈΠ±ΠΊΠΈΠΉ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ форматирования строк. Π€ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки <> ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² качСствС заполнитСля Π² строкС ΠΈ Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° format(). ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ строки Python с использованиСм ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° %

Python позволяСт Π½Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ спСцификаторы Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² инструкции printf языка C. Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π² Python ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² C. Однако Python прСдоставляСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€%, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² качСствС интСрфСйса ΠΌΠ΅ΠΆΠ΄Ρƒ спСцификаторами Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΈ ΠΈΡ… значСниями. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ связываСт спСцификаторы Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° со значСниями.

Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Python

Python прСдоставляСт Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ встроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ строк.

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

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Π² Python ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌΠΈ

Π‘ Ρ‚Ρ€ΠΎΠΊΠΈ Π² языкС программирования Python β€” это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ состоят ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ символов.

НаравнС с bool, int ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ€Π°Π±ΠΎΡ‚Π° со строковым Ρ‚ΠΈΠΏΠΎΠΌ являСтся Π½Π΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ программирования, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π΅Π΄ΠΊΠΎ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ прилоТСния, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ тСкст.

Вводная информация ΠΎ строках

Как ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… языках программирования, Π² Python Π΅ΡΡ‚ΡŒ большая коллСкция Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ со строковым Ρ‚ΠΈΠΏΠΎΠΌ.

Π§Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой строки Π² Python

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠŸΠΈΡ‚ΠΎΠ½Π°, строка β€” это упорядочСнная ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов, которая ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ простого тСкста.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… string ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² случаС, ΠΊΠΎΠ³Π΄Π° Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² тСкстовой Ρ„ΠΎΡ€ΠΌΠ΅.

Π›ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ строк

Π›ΠΈΡ‚Π΅Ρ€Π°Π» β€” способ создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π² случаС строк ΠŸΠΈΡ‚ΠΎΠ½ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ нСсколько основных Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ²:

>>> ‘string’ # ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ ‘string’ >>> «string» # Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ ‘string’ >>> «»»string»»» ‘string’ >>> »’string»’ ‘string’

Если Π²Π½ΡƒΡ‚Ρ€ΠΈ строки Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, ΠΈ сама строка Π±Ρ‹Π»Π° создана с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

>>> ‘book «war and peace»‘ # Ρ€Π°Π·Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ ‘book «war and peace»‘ >>> «book ‘war and peace'» # Ρ€Π°Π·Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ «book ‘war and peace'» >>> «book \»war and peace\»» # экранированиС ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ‘book «war and peace»‘ >>> ‘book \’war and peace\» # экранированиС ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° «book ‘war and peace'»

💡 Π Π°Π·Π½ΠΈΡ†Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ строками с ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌΠΈ ΠΈ Π΄Π²ΠΎΠΉΠ½Ρ‹ΠΌΠΈ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌΠΈ Π½Π΅Ρ‚ β€” это ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅

КакиС ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ β€” Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Π²Π°ΠΌ, соглашСниС PEP 8 Π½Π΅ Π΄Π°Π΅Ρ‚ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ ΠΏΠΎ использованию ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΎΠ΄ΠΈΠ½ Ρ‚ΠΈΠΏ ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ ΠΈ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΠΉΡ‚Π΅ΡΡŒ Π΅Π³ΠΎ. Однако Ссли Π² стокС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚Π΅ ΠΆΠ΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, Ρ‡Ρ‚ΠΎ ΠΈ Π² Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π΅ строки, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ β€” обратная косая Ρ‡Π΅Ρ€Ρ‚Π° Π² строкС ΡƒΡ…ΡƒΠ΄ΡˆΠ°Π΅Ρ‚ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°.

ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° строк

Π’ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ вСрсии языка программирования Python всС строки ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Unicode-символов.

Π’ Python 3 ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ исходного ΠΊΠΎΠ΄Π° β€” UTF-8. Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ вСрсии ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ использовалась ASCII. Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ, ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ объявлСниС Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкС Ρ„Π°ΠΉΠ»Π°, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ:

Максимальная Π΄Π»ΠΈΠ½Π° строки Π² Python

Максимальная Π΄Π»ΠΈΠ½Π° строки зависит ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это:

>>> import sys >>> sys.maxsize 2147483647

ΠŸΠ΅Ρ€Π΅Π½ΠΎΡ строк

ΠŸΠ΅Ρ€Π΅Π½ΠΎΡ строки осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ символа \n :

>>> text = «one\ntwo\nthree» >>> print(text) one two three

ΠšΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΡ строк

>>> s1 = «Hello» + » world» >>> s2 = » world» >>> s1+s2 ‘Hello world’

ΠŸΡ€ΠΈ нСобходимости объСдинСния строки с числом Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ привСсти Ρ‚ΠΎΠΆΠ΅ ΠΊ строкС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ str() :

>>> name = «John» >>> age = 30 >>> «Name: » + name + «, age: » + str(age) ‘Name: John, age: 30’

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ строк

ΠŸΡ€ΠΈ сравнСнии Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… строк Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ символы ΠΈ ΠΈΡ… рСгистр:

ΠŸΡ€ΠΈ этом ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ символы, Π·Π°Ρ‚Π΅ΠΌ β€” 2-Π΅ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

>>> s1 = «1a» >>> s2 = «aa» >>> s3 = «Aa» >>> s4 = «ba» >>> «1a» > «aa» # сравнСниС Ρ†ΠΈΡ„Ρ€Ρ‹ с Π±ΡƒΠΊΠ²ΠΎΠΉ False >>> «aa» > «Aa» # сравнСниС рСгистров True >>> «aa» > «ba» # сравнСниС Π±ΡƒΠΊΠ² ΠΏΠΎ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎΠΌΡƒ порядку False >>> «aa»

Π”Π°Π»Π΅ΠΊΠΎ Π½Π΅ всСгда ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ являСтся Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ рСгистра, Π² Ρ‚Π°ΠΊΠΎΠΌ случаС ΠΌΠΎΠΆΠ½ΠΎ привСсти ΠΎΠ±Π΅ строки ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ рСгистру. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ lower() β€” для привСдСния ΠΊ Π½ΠΈΠΆΠ½Π΅ΠΌΡƒ ΠΈ upper() β€” ΠΊ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌΡƒ:

>>> s1 = «Intel» >>> s2 = «intel» >>> s1 == s2 False >>> s1.lower() == s2.lower() True

ΠŸΡƒΡΡ‚Π°Ρ строка Python

ΠžΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΏΡƒΡΡ‚ΡƒΡŽ строку ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ способами:

Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ строку Π² Python

Или ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ пустой строкой:

ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΠΎ индСксу

Для Π²Ρ‹Π±ΠΎΡ€Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ символа ΠΈΠ· строки ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ индСксу, записав Π΅Π³ΠΎ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках:

>>> s = «abcdef» >>> s[0] ‘a’ >>> s[2] ‘c’

ИндСкс начинаСтся с 0

Π’ Python прСдусмотрСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΈ ΠΏΠΎ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ индСксу. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС отсчСт Π±ΡƒΠ΄Π΅Ρ‚ Π²Π΅ΡΡ‚ΠΈΡΡŒ ΠΎΡ‚ ΠΊΠΎΠ½Ρ†Π° строки:

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

Часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ситуация, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ строку, подставив Π² Π½Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ значСния, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π²ΠΎ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΠΎΠ΄ΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ‚Π°ΠΊΠΎΠΌ случаС выполняСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ форматирования строк, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ нСсколькими способами.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ %

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Π² Python ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ встроСнной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ %, Ρ‡Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ просто Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘Π°ΠΌΡ‹ΠΉ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€” ΠΊΠΎΠ³Π΄Π° для подстановки Π½ΡƒΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ½ сам:

>>> name = «Alex» >>> ‘Hello, %s’ % name ‘Hello, Alex’

Если ΠΆΠ΅ для подстановки ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ нСсколько Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ со строками:

>>> ‘%d %s, %d %s’ % (6, ‘bananas’, 10, ‘lemons’) ‘6 bananas, 10 lemons’

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, зависимо ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… для подстановки ΠΈ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ трСбуСтся ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π² ΠΈΡ‚ΠΎΠ³Π΅, ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ Ρ€Π°Π·Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚. НаиболСС часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ:

Π’Π°ΠΊΠΎΠΉ способ форматирования строк Π½Π°Π·Ρ‹Π²Π°Π΅Ρ‚ «ΡΡ‚Π°Ρ€Ρ‹ΠΌ» стилСм, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² Python 3 Π±Ρ‹Π» Π·Π°ΠΌΠ΅Π½Π΅Π½ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ способы.

str.format()

>>> print(‘<>‘.format(100)) 100 >>> ‘<0>, <1>, <2>‘.format(‘one’, ‘two’, ‘three’) ‘one, two, three’ >>> ‘<2>, <1>, <0>‘.format(‘one’, ‘two’, ‘three’) ‘three, two, one’

💭 Π’ Python 3 Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ строк с использованиСм «Π½ΠΎΠ²ΠΎΠ³ΠΎ стиля» являСтся Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с использованиСм %-стиля, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ прСдоставляСт Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅ возмоТности, Π½Π΅ услоТняя простыС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ использования.

f-строки (Python 3.6+)

Π’ Python вСрсии 3.6 появился Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ форматирования строк β€” «f-строки», с Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ встроСнныС выраТСния Π²Π½ΡƒΡ‚Ρ€ΠΈ строк:

>>> name = ‘Alex’ >>> f’Hello, !’ ‘Hello, Alex!’

Π’Π°ΠΊΠΎΠΉ способ форматирования ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ выраТСния:

>>> a = 5 >>> b = 10 >>> f’Five plus ten is and not <2 * (a + b)>.’ ‘Five plus ten is 15 and not 30.’

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ f-строк Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ использованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° format(), Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΎΠ΅, быстроС ΠΈ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΠ΅.

Бтандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Template Strings

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅ прСдусмотрСны ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Рассмотрим ΠΈΡ…:

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ числового ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΊ строкС:

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками

ΠšΡ€ΠΎΠΌΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками Π΅ΡΡ‚ΡŒ Π½Π΅ΠΌΠ°Π»ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²:

>>> text = «Wikipedia is a Python library that makes it easy to access and parse data from Wikipedia» >>> text.find(«Wikipedia») 0 >>> text.rfind(«Wikipedia») 79 >>> text.replace(«from Wikipedia», «from https://www.wikipedia.org/») ‘Wikipedia is a Python library that makes it easy to access and parse data from https://www.wikipedia.org/’ >>> text.split(» «) [‘Wikipedia’, ‘is’, ‘a’, ‘Python’, ‘library’, ‘that’, ‘makes’, ‘it’, ‘easy’, ‘to’, ‘access’, ‘and’, ‘parse’, ‘data’, ‘from’, ‘Wikipedia’] split_text = text.split(» «) >>> «_».join(split_text) ‘Wikipedia_is_a_Python_library_that_makes_it_easy_to_access_and_parse_data_from_Wikipedia’ >>> text = » test » >>> text.strip() ‘test’ >>> text.lstrip() ‘test ‘ >>> text.rstrip() ‘ test’ >>> text = «Python is a product of the Python Software Foundation» >>> text.lower() ‘python is a product of the python software foundation’ >>> text.upper() ‘PYTHON IS A PRODUCT OF THE PYTHON SOFTWARE FOUNDATION’ >>> text = «python is a product of the python software foundation» >>> text.capitalize() ‘Python is a product of the python software foundation’

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ· строки Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚ΠΈΠΏ

Π’ ΠŸΠΈΡ‚ΠΎΠ½Π΅ строки ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…:

string to int

Ѐункция int() ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ Ρ†Π΅Π»ΠΎΠ΅ число Π² дСсятичной систСмС, Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΠΊΠ°ΠΊ строка, Π² Ρ‚ΠΈΠΏ int:

ΠŸΡ€ΠΈ нСобходимости ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ систСму счислСния:

>>> int(«0x12F», base=16) 303

string to list

Π‘Π°ΠΌΡ‹ΠΉ простой способ прСобразования строки Π² список строк β€” ΠΌΠ΅Ρ‚ΠΎΠ΄ split() :

>>> ‘one two three four’.split() [‘one’, ‘two’, ‘three’, ‘four’]

ΠŸΡ€ΠΈ нСобходимости ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ:

>>> ‘one, two, three, four’.split(‘,’) [‘one’, ‘ two’, ‘ three’, ‘ four’]

string to bytes

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ строкового Ρ‚ΠΈΠΏΠ° Π² Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΉ выполняСтся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ encode() с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ:

string to datetime

Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π² Π΄Π°Ρ‚Ρƒ прСобразовываСтся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ strptime() ΠΈΠ· стандартного модуля datetime :

>>> from datetime import datetime >>> print(datetime.strptime(‘Jan 1 2020 1:33PM’, ‘%b %d %Y %I:%M%p’)) 2020-01-01 13:33:00

string to float

Для прСобразования строки Π² число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ стандартная функция float :

string to dict

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ словаря ΠΈΠ· строки Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ссли Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ json. Для этого ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ json :

string to json

ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Python Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ json выполняСтся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ dumps() :

>>> import json >>> json.dumps(«hello») ‘»hello»‘

Best practices

Как Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ строку Π½Π° символы

Π Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ строки Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ символы выполняСтся нСсколькими способами:

>>> text = «django» # Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ 1 >>> list(text) [‘d’, ‘j’, ‘a’, ‘n’, ‘g’, ‘o’] # Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ 2 >>> [c for c in «text»] [‘t’, ‘e’, ‘x’, ‘t’] # Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ 3 >>> for c in text: print(c) d j a n g o

Как ΠΈΠ· строки Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ числа

Для извлСчСния чисСл ΠΈΠ· строки ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ строк:

>>> str = «h3110 23 cat 444.4 rabbit 11 2 dog» >>> [int(s) for s in str.split() if s.isdigit()] [23, 11, 2]

Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†Π΅Π»Ρ‹Π΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ числа. Π‘ΠΎΠ»Π΅Π΅ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ – рСгулярныС выраТСния:

>>> str = «h3110 23 cat 444.4 rabbit 11 2 dog» >>> import re >>> re.findall(r’\d+’, str) [‘3110′, ’23’, ‘444’, ‘4’, ’11’, ‘2’]

Как ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ строку

БущСствуСт нСсколько способов ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ строку, начиная ΠΎΡ‚ классичСского – Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ†ΠΈΠΊΠ» Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, выбирая ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ символ с ΠΊΠΎΠ½Ρ†Π° ΠΈ вставляя Π΅Π³ΠΎ Π² Π½ΠΎΠ²ΡƒΡŽ строку, ΠΈ заканчивая срСзами – Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠŸΠΈΡ‚ΠΎΠ½Π°.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ срСза β€” самый быстрый способ:

ИспользованиС reversed() и str.join() :

Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ послСдний символ Π² строкС

Как ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ случаС – Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ послСдний символ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ простым ΠΈ быстрым Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ использованиС срСза:

>>> «Some text1″[:-1] ‘Some text’

Как ΡƒΠ±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈΠ· строки

Π’ случаС удалСния ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² со строки ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°:

1 ΠžΠ±Ρ€Π΅Π·Π°Ρ‚ΡŒ строку Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ с Π½Π΅Π΅ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈ послСдний ΠΏΡ€ΠΎΠ±Π΅Π», Ρ‚Π°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ случайно поставит ΠΏΡ€ΠΎΠ±Π΅Π» Π² ΠΊΠΎΠ½Ρ†Π΅ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ тСкста:

>>> » Some text «.strip() ‘Some text’

2 Π£Π΄Π°Π»ΠΈΡ‚ΡŒ со строки всС ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹:

>>> » So me t e x t «.replace(‘ ‘, ») ‘Sometext’

Π Π°Π±ΠΎΡ‚Π° со строками β€” Π½Π΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ создания практичСски любого прилоТСния, Π³Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ тСкст, ΠΈ язык программирования Python прСдоставляСт ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅ возмоТности Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π°ΠΊΠΈΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

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

ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° консоли послС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠ½Ρ‚Π°

Как послС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π° тСкста Π² консоль Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ print, сразу Ρ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ Π²Ρ‹Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ тСкст Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Π§Ρ‚ΠΎ Π±Ρ‹ послС Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠ»ΠΎ Π² консоль Π²ΠΎΡ‚ это:

А ΠΏΡ€Π΅Π΄ΠΈΠ΄ΡƒΡ‰ΠΈΠΉ тСкст затирался, ΠΈ Π½Π° Π΅Π³ΠΎ мСстС появлялся Π½ΠΎΠ²Ρ‹ΠΉ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄Π½Π° строка которая ΠΏΠ»Π°Π²Π½ΠΎ заполнится ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ # Π΄ΠΎ #########, ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ?

4 ΠΎΡ‚Π²Π΅Ρ‚Π° 4

Для управлСния консолью ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ANSI, Π½ΠΎ Windows-консоль Π΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚, поэтому ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ придётся Π²ΠΎΡ‚ΠΊΠ½ΡƒΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΊΠΎΡΡ‚Ρ‹Π»ΡŒ для Π΅Π³ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ colorama:

Π•Π³ΠΎ установка ΠΈ Π΄Ρ€ΡƒΠΆΠ±Π° с pycharm Π΄Π°Π½Π½ΠΎΠ³ΠΎ вопроса Π½Π΅ касаСтся, поэтому Π½Π΅ Π±ΡƒΠ΄Ρƒ это ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ.

МоТно ΠΏΠ΅Ρ€Π΅Π΄Π²ΠΈΠ½ΡƒΡ‚ΡŒ курсор Π½Π° ΠΎΠ΄ΠΈΠ½ символ Π½Π°Π·Π°Π΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ASCII-символа BS (escape-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ \b ). ПослС этого ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ тСкст ΠΏΠΎΠ²Π΅Ρ€Ρ… старого:

МоТно ΠΏΠ΅Ρ€Π΅Π΄Π²ΠΈΠ½ΡƒΡ‚ΡŒ курсор Π² Π½Π°Ρ‡Π°Π»ΠΎ строки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΈ ( \r ) ΠΈ Ρ‚ΠΎΠΆΠ΅ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΠΎΠ²Π΅Ρ€Ρ…:

МоТно ΡΡ‚Π΅Ρ€Π΅Ρ‚ΡŒ всС символы ΠΎΡ‚ курсора Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° строки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ANSI-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ \033[K (для Windows Π½ΡƒΠΆΠ½Π° Π²Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚Π°Ρ colorama). Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½ΠΈΠΆΠ΅ пСрСносим курсор Π½Π° Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ символа Π²Π»Π΅Π²ΠΎ ΠΈ Ρ‚Π΅ΠΌ самым стираСм послСднСС слово:

Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚: foo bar! (ΠΎΡ‚ baz Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈ слСда)

Если ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ курсор Π² Π½Π°Ρ‡Π°Π»ΠΎ строки, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‚Π΅Ρ€Π΅Ρ‚ΡŒ всю строку:

Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚: Done! (Π±Π΅Π· всяких Ρ€Π΅ΡˆΡ‘Ρ‚ΠΎΡ‡Π΅ΠΊ)

МоТно ΠΏΠ΅Ρ€Π΅Π΄Π²ΠΈΠ½ΡƒΡ‚ΡŒ курсор Π½Π° ΠΎΠ΄Π½Ρƒ строку Π²Π²Π΅Ρ€Ρ… ΠΈ Π² Π΅Ρ‘ Π½Π°Ρ‡Π°Π»ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ \033[F :

ΠšΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΡƒΡ всё Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ваш ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Но, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, для вашСго частного случая Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΎΡ‚ mkkik πŸ™‚

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

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

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

ΠΠΎΠΌΠ΅Ρ€ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠŸΡ€ΠΈΠΌΠ΅Ρ€
1.\newlineΠ˜Π³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π½ΠΎΠ²ΡƒΡŽ строку