Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python에서 문자열 길이와 크기를 구하는 방법 완벽 정리

Python에서는 복합 객체(composite object)의 길이를 반환하는 len() 메서드를 기본적으로 제공합니다. 문자열의 길이를 구하고 싶다면, 해당 문자열을 len() 함수에 인자로 전달하기만 하면 됩니다.

예제

print(len('Hello World!'))

출력 결과

12

위 예제에서 공백과 특수문자를 포함한 모든 문자가 개별적으로 계산되어 총 12라는 결과가 출력됩니다. 이처럼 len()은 문자열에 포함된 문자(공백 포함)의 개수를 반환합니다.

문자열의 바이트 크기 구하기

문자열이 실제로 차지하는 메모리 크기(바이트 단위)를 알고 싶다면, sys 모듈의 getsizeof() 메서드를 사용할 수 있습니다.

예제

from sys import getsizeof
getsizeof('Hello World!')

출력 결과

33

getsizeof()가 반환하는 값은 문자열 자체의 데이터뿐만 아니라 Python 객체 관리에 필요한 추가 오버헤드까지 포함한 값입니다. 따라서 실제 문자 수인 12보다 훨씬 큰 33바이트가 출력되는 것입니다. 참고로 이 값은 사용 중인 Python 버전이나 실행 환경에 따라 다소 달라질 수 있습니다.

len()과 getsizeof()의 차이점

  • len(): 문자열에 포함된 문자의 개수를 반환합니다. 논리적인 길이를 나타냅니다.
  • getsizeof(): 객체가 시스템 메모리에서 차지하는 실제 바이트 크기를 반환합니다. 물리적인 메모리 사용량을 나타냅니다.

sys.getsizeof()에 대해 더 자세히 알고 싶다면 Python 공식 문서의 sys.getsizeof() 항목을 참고하시기 바랍니다.