반응형
파이썬 내장 함수 'bytearray'
파이썬의 내장 함수 bytearray()
는 가변형 바이트 시퀀스를 생성하는 데 사용됩니다. 이는 bytes
와 비슷하지만, 차이점은 bytes
는 불변(immutable)인 반면, bytearray
는 가변(mutable)이라는 것입니다. 즉, bytearray
는 생성된 이후에 값을 변경할 수 있습니다.
bytearray()
의 기본적인 사용법
bytearray([source[, encoding[, errors]]])
source
: 바이트 배열로 변환할 데이터의 소스입니다. 이 값은 문자열, 정수, 또는 이터러블 객체일 수 있습니다.encoding
: 문자열 소스를 사용할 경우, 이를 바이트로 변환하기 위한 인코딩입니다.errors
: 인코딩/디코딩 오류가 발생했을 때 처리 방식을 지정합니다. (예:'strict'
,'ignore'
,'replace'
)
예제
- 빈
bytearray
생성
b = bytearray()
print(b) # 출력: bytearray(b'')
빈 바이트 배열을 생성합니다.
- 리스트를 바이트 배열로 변환
b = bytearray([65, 66, 67]) # ASCII 코드 65: 'A', 66: 'B', 67: 'C'
print(b) # 출력: bytearray(b'ABC')
정수 리스트를 바이트 배열로 변환하면 각 정수가 ASCII 값으로 변환됩니다.
- 문자열을 바이트 배열로 변환
b = bytearray("Python", "utf-8")
print(b) # 출력: bytearray(b'Python')
문자열을 지정된 인코딩 방식으로 바이트 배열로 변환합니다.
- 바이트 배열 수정
b = bytearray([65, 66, 67]) # bytearray(b'ABC')
b[1] = 68 # 'B'를 'D'로 변경
print(b) # 출력: bytearray(b'ADC')
bytearray
는 가변형이므로, 리스트처럼 인덱스를 통해 값을 변경할 수 있습니다.
- 바이트 배열을 슬라이스로 수정
b = bytearray(b'Hello World')
b[6:] = b'Python'
print(b) # 출력: bytearray(b'Hello Python')
문자열 슬라이스처럼 일부 범위를 다른 값으로 변경할 수도 있습니다.
주요 특징 요약
- 가변성:
bytearray
는 생성 후에도 내용을 변경할 수 있습니다. - 성능: 대량의 바이트 데이터를 다룰 때 유용하며, 불필요한 데이터 복사를 줄여줍니다.
- 바이트 단위 조작: 바이트 단위로 값을 설정하거나 조작할 수 있어 파일 입출력, 네트워크 프로그래밍 등에서 자주 사용됩니다.
bytearray()
는 이러한 특성을 통해 메모리 효율적인 방법으로 바이트 데이터를 조작할 수 있는 강력한 도구입니다.
'실버를 위한 코딩 > 파이썬' 카테고리의 다른 글
[내장 함수] 파이썬 내장 함수, delatter() (1) | 2024.10.08 |
---|---|
[내장 함수] 파이썬 내장 함수, bytes([source[, encoding[, errors]]]) (3) | 2024.10.05 |
[내장 함수] 파이썬 내장 함수 breakpoint (5) | 2024.10.03 |
[파이썬] 파이썬에서 특수 매서드란? (1) | 2024.10.02 |
[내장 함수] 파이썬 내장 함수 bool (0) | 2024.10.01 |