>백엔드 개발 >파이썬 튜토리얼 >`.replace()`와 같은 Python의 문자열 메서드가 원래 문자열을 수정하지 않는 이유는 무엇입니까?

`.replace()`와 같은 Python의 문자열 메서드가 원래 문자열을 수정하지 않는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-26 06:49:09617검색

Why Don't Python's String Methods Like `.replace()` Modify the Original String?

.replace()와 같은 문자열 메서드가 Python에서 문자열을 직접 변경하지 않는 이유

.replace()와 같은 메서드를 사용하여 문자열을 수정하려고 할 때. Python에서 replacement() 또는 .strip()을 사용하면 원래 문자열이 변경되지 않은 상태로 유지되는 것을 확인할 수 있습니다. 이 동작은 언어의 문자열 불변성에서 비롯됩니다.

이름에서 알 수 있듯이 불변 객체는 내부에서 수정할 수 없습니다. 대신, 불변 객체에 대한 메서드를 호출하면 원하는 변경 사항이 포함된 새 객체가 반환됩니다. 예를 들어 Python에서는 다음과 같습니다.

X = "hello world"
new_string = X.replace("hello", "goodbye")

위 코드에서 .replace()는 대체된 문자열로 새 문자열을 반환합니다. 그러나 원래 변수 X는 수정되지 않은 문자열 "hello world"를 여전히 보유하고 있습니다. X 값을 업데이트하려면 메서드 호출의 결과를 할당해야 합니다.

X = X.replace("hello", "goodbye")

이 원칙은 문자열 내용을 변경하는 Python의 모든 문자열 메서드에 적용됩니다. 포함:

  • .replace()
  • .strip()
  • .translate()
  • .lower()
  • .upper()
  • .join()
  • .capitalize()
  • .casefold()

따라서, 수정된 문자열을 유지하려면 이러한 메소드의 출력을 새 변수 또는 동일한 변수에 할당하는 것이 중요합니다.

위 내용은 `.replace()`와 같은 Python의 문자열 메서드가 원래 문자열을 수정하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.