본문 바로가기
실버를 위한 코딩/파이썬

[내장 함수] 파이썬 내장 함수 'bytearray'

by forSilver 2024. 10. 4.
반응형

파이썬 내장 함수 'bytearray'

파이썬의 내장 함수 bytearray()가변형 바이트 시퀀스를 생성하는 데 사용됩니다. 이는 bytes와 비슷하지만, 차이점은 bytes는 불변(immutable)인 반면, bytearray가변(mutable)이라는 것입니다. 즉, bytearray는 생성된 이후에 값을 변경할 수 있습니다.

bytearray()의 기본적인 사용법

bytearray([source[, encoding[, errors]]])
  • source: 바이트 배열로 변환할 데이터의 소스입니다. 이 값은 문자열, 정수, 또는 이터러블 객체일 수 있습니다.
  • encoding: 문자열 소스를 사용할 경우, 이를 바이트로 변환하기 위한 인코딩입니다.
  • errors: 인코딩/디코딩 오류가 발생했을 때 처리 방식을 지정합니다. (예: 'strict', 'ignore', 'replace')

예제

  1. bytearray 생성
b = bytearray()
print(b)  # 출력: bytearray(b'')

빈 바이트 배열을 생성합니다.

  1. 리스트를 바이트 배열로 변환
b = bytearray([65, 66, 67])  # ASCII 코드 65: 'A', 66: 'B', 67: 'C'
print(b)  # 출력: bytearray(b'ABC')

정수 리스트를 바이트 배열로 변환하면 각 정수가 ASCII 값으로 변환됩니다.

  1. 문자열을 바이트 배열로 변환
b = bytearray("Python", "utf-8")
print(b)  # 출력: bytearray(b'Python')

문자열을 지정된 인코딩 방식으로 바이트 배열로 변환합니다.

  1. 바이트 배열 수정
b = bytearray([65, 66, 67])  # bytearray(b'ABC')
b[1] = 68  # 'B'를 'D'로 변경
print(b)  # 출력: bytearray(b'ADC')

bytearray는 가변형이므로, 리스트처럼 인덱스를 통해 값을 변경할 수 있습니다.

  1. 바이트 배열을 슬라이스로 수정
b = bytearray(b'Hello World')
b[6:] = b'Python'
print(b)  # 출력: bytearray(b'Hello Python')

문자열 슬라이스처럼 일부 범위를 다른 값으로 변경할 수도 있습니다.

주어진 코드 실행 화면

주요 특징 요약

  • 가변성: bytearray는 생성 후에도 내용을 변경할 수 있습니다.
  • 성능: 대량의 바이트 데이터를 다룰 때 유용하며, 불필요한 데이터 복사를 줄여줍니다.
  • 바이트 단위 조작: 바이트 단위로 값을 설정하거나 조작할 수 있어 파일 입출력, 네트워크 프로그래밍 등에서 자주 사용됩니다.

bytearray()는 이러한 특성을 통해 메모리 효율적인 방법으로 바이트 데이터를 조작할 수 있는 강력한 도구입니다.