πŸ”ΠŸΠΎΡ‡Π΅ΠΌΡƒ строки Π² Python нСизмСняСмыС: основныС ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Π² Python ΡΠ²Π»ΡΡŽΡ‚ΡΡ нСизмСняСмыми ΠΈΠ·-Π·Π° ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° ΠΈΠΌΠΌΡƒΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ относится ΠΊ Ρ‚ΠΈΠΏΠ°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нСльзя ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ послС создания.

Π’ΠΎΡ‚ нСсколько ΠΏΡ€ΠΈΡ‡ΠΈΠ½, ΠΏΠΎΡ‡Π΅ΠΌΡƒ строки Π² Python ΡΠ²Π»ΡΡŽΡ‚ΡΡ нСизмСняСмыми:

  • Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ: ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ строки нСизмСняСмы, Python ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.
  • Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ: Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ строк ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ случайныС ΠΈΠ»ΠΈ Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ измСнСния Π΄Π°Π½Π½Ρ‹Ρ….
  • Π₯Сш-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: строки ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² качСствС ΠΊΠ»ΡŽΡ‡Π΅ΠΉ словаря, ΠΈ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ…Π΅Ρˆ-значСния ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌΠΈ.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°, ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ строк:


    # ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1: ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ символ строки Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ
    my_string = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚"
    my_string[0] = "П"  # Π’Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ "TypeError: 'str' object does not support item assignment"

    # ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2: ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ значСния создаСт Π½ΠΎΠ²ΡƒΡŽ строку
    my_string = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚"
    my_string = "Пока"   # Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ Π½ΠΎΠ²ΡƒΡŽ строку, Π° Π½Π΅ измСняСт ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ
  

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

ΠŸΠΎΡ‡Π΅ΠΌΡƒ строки Π² Python нСизмСняСмыС

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

1. Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ

Одной ΠΈΠ· основных ΠΏΡ€ΠΈΡ‡ΠΈΠ½ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ строки нСизмСняСмыми Π² Python Π±Ρ‹Π»Π° ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ эффСктивности. Когда строка создаСтся, ΠΎΠ½Π° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ Ρ…Ρ€Π°Π½ΠΈΡ‚ свои символы Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Если Π±Ρ‹ строки Π±Ρ‹Π»ΠΈ измСняСмыми, Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ строки Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎ Π±Ρ‹ выдСлСния Π½ΠΎΠ²ΠΎΠΉ памяти ΠΈ копирования символов. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ Π±Ρ‹ ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ рСсурсов, особСнно ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими строками.

2. Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ

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

3. ΠšΠΎΠ½ΡΠΈΡΡ‚Π΅Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Π² Python нСизмСняСмы для обСспСчСния консистСнтности Π΄Π°Π½Π½Ρ‹Ρ…. Π’ языкС Python мноТСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ числа ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ, Ρ‚Π°ΠΊΠΆΠ΅ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ нСизмСняСмыми. Π‘Π΄Π΅Π»Π°Π² строки нСизмСняСмыми, Python слСдуСт ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ Сдинообразия ΠΈ прСдоставляСт Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈ простоС Π² использовании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΊΠΎΠ΄Π° для дСмонстрации Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ строки Π² Python ΡΠ²Π»ΡΡŽΡ‚ΡΡ нСизмСняСмыми.

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ строки
string = "Hello, World!"

# ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ строки
string[0] = "h"  # Π’Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ TypeError

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм строку "Hello, World!" ΠΈ пытаСмся ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Ρ‘ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ символ Π½Π° "h". Однако, ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ это дСйствиС, Python Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ TypeError, указывая Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ строки нСизмСняСмыС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ ΠΈΡ… значСния нСльзя ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ.

# ΠšΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΡ строк
string1 = "Hello,"
string2 = " World!"
result = string1 + string2

print(result)  # Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚: "Hello, World!"

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм Π΄Π²Π΅ строки "Hello," ΠΈ " World!" ΠΈ объСдиняСм ΠΈΡ… Π² ΠΎΠ΄Π½Ρƒ строку с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° "+". Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ являСтся новая строка "Hello, World!", Π½ΠΎ исходныС строки ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ.

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

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Π² Python Π±Ρ‹Π»ΠΈ сдСланы нСизмСняСмыми для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ эффСктивности, обСспСчСния бСзопасности Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ консистСнтности. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ послС создания строки Π΅Ρ‘ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ нСльзя ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ. НСсмотря Π½Π° это ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅, Python ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ мноТСство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΡŽ, ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ подстроки ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

НадСюсь, эта ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠΌΠΎΠ³Π»Π° Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ строки Π² Python нСизмСняСмыС ΠΈ ΠΊΠ°ΠΊ это влияСт Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. УспСхов Π² ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ Python!

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Mutable ΠΈ Immutable Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² python

ΠžΡΠ½ΠΎΠ²Ρ‹ Python #5: строки lvl 2, нСизмСняСмыС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹

Python-13. Π˜Π·ΠΌΠ΅Π½ΡΠ΅ΠΌΡ‹Π΅ ΠΈ нСизмСняСмыС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² python

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ Π² Python 🐍: простоС руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

🐍 Π“Π΄Π΅ Π½ΡƒΠΆΠ΅Π½ ΠΏΠΈΡ‚ΠΎΠ½? πŸ€” ЭкспСртный Π°Π½Π°Π»ΠΈΠ· ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ πŸš€

πŸ” Π§Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ Π² PythonΠ΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹: ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ совСты ΠΈ основныС ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ

πŸ”ΠŸΠΎΡ‡Π΅ΠΌΡƒ строки Π² Python нСизмСняСмыС: основныС ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹

πŸ”—ΠšΠ°ΠΊ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π΄Π²Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅: пошаговоС руководство

Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ послСднюю Π²Π΅Ρ€ΡΠΈΡŽ Python Π½Π° Linux 🐍🐧

Как пСрСвСсти Π² Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½ΡƒΡŽ систСму счислСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python?