Python 기초

3 . 문자열 다루기

imysydesu 2026. 5. 21. 17:38

 

 

1. 컴퓨터 문자

 

 

 

     - 컴퓨터에서 문자는 사람이 사용하는 글자를 그대로 저장하는 것이 아니라,

        각 문자에 대응되는 숫자 코드로 변환되어 저장

     - 변환 규칙 => 문자 인코딩 ( 아스키코드, 유니코드)

 

 

1 - 1 . 아스키코드

 

  •  ASCII : American Standard Code for Information Interchange
  • 미국에서 개발된 문자 인코딩 표준
  •  7비트로 구성되어 총 128개의 문자(0~127)를 표현

 

 

1 - 2 . 유니코드

 

  • 전 세계의 다양한 문자와 기호를 포함하기 위해 개발된 표준
  • 각 문자를 고유한 코드 포인트로 표현
  • 다양한 인코딩 방식(UFT-8, UTF-16, UTF-32 등) 지원

 

  • UTF : Unicode Transformation Format

      - 문자를 컴퓨터에서 저장하고 전송하기 위해 Unicode 문자 집합을 실제 바이트 형태로 변환하는 인코딩 방식

      - 문자를 서로 다른 바이트 길이로 표현

      - 저장 효율성과 호환성이 뛰어나 현재 가장 널리 사용되는 인코딩 방식

 

 

1 - 3 . 컴퓨터의 용량 단위

 

  • 컴퓨터는 데이터를 0과 1로 저장
  • 기본 단위 : 8bit => 1Byte
  • 컴퓨터는 2진수 기반이기 때문이기 때문에 용량 단위는 1024 기준으로 증가

 

 

 

 

 


 

 

 

 

2 . 파이썬 문자열 

 

  • 텍스트 데이터를 표현하기 위해 사용되는 자료형
  • 작은따옴표(')나 큰따옴표(")로 문자열을 표현
  • 문자열은 인덱스를 통해 각 문자에 접근할 수 있음
  • 문자열 수정 불가능
  • 연결, 슬라이싱, 길이 확인 등 다양한 연산 지원

 

 

2 - 1 . 인덱스 

 

  • 데이터 구조에서 각 요소의 위치를 나타내는 번호
  • 리스트는 첫 번째의 요소를 0으로 지칭하며 번호가 시작됨
  • 음수 인덱스로 뒤에서부터 접근할 수도 있음 ex) - 0
  • 자료형에서 특정 값을 찾거나 접근할 때 사용

 - 인 : 인덱스 0번

 -  !  : 인덱스 11번

 

 

2 - 2 . 리터럴 공유

 

  • 동일한 값을 가지는 불변 객체(정수, 문자열 등)를 여러 번 사용할 때 파이선이 메모리 효율을 위해 하나의 객체만 생성하고 여러 변수가 이를 함께 참조하는 동작
  • 공백이 포함되거나 런타임에 생성된 문자열은 공유되지 않을 수 있음

 

 

 

 


 

 

 

3 . 문자열 함수와 연산자 

 

 

 

3 - 1 . 문자열 길이 확인하기

 

  • len() : 문자열 길이 알려주는 함수 

 

 

3 - 2 . 문자열 합치기

 

  • + 사용

 

3 - 3 . 문자열 반복하기

 

  • * (곱하기) 사용

 

- 이모지 : 윈도키 + . 키

 

 

3 - 4 . 문자열 인덱싱

 

  • 순서가 있는 자료형에서 인덱스 값을 이용해 특정 위치의 요소에 접근하는 방법
  • 필요한 위치의 값만 빠르게 가져올 수 있음
  • [] 대괄호 안에 원하는 인덱스 번호 입력

 

 

3 - 5 . 문자열 슬라이싱

 

  • 순서가 있는 자료형에서 인덱스 범위를 지정하여 원하는 부분만 추출하는 방법
  • 데이터[시작번호:끝번호] 형태로 사용
  • 필요에 따라 스탭 값을 추가해 간격 지정 가능 -> 데이터[시작번호:끝번호:스탭]
  • 데이터의 일부를 쉽게 자르거나 복사할 수 있어 효율적인 데이터 처리에 유용

 

 

 

 


 

 

 

 

4 . 문자열 메서드 

 

        - 문자열 객체에 적용되는 함수

        - 문자열을 조작하거나 변환하는 다양한 작업 가능

 

 

4 - 1 . 대소문자 변환

 

  • 문자열 변수명.upper() 혹은 문자열 변수명.lower()로 사용
  • upper() -> 대문자로 변환
  • lower() -> 소문자로 변환

 

 

4 - 2 . 특정 문자열의 등장 횟수 확인

 

  • 변수명.count(원하는 특정 문자열)로 사용
  • count() -> 특정 문자열 등장 횟수 세줌
  • 대소문자 구분 필요

 

 

4 - 3 . 특정 부분 문자열의 첫 번째 등장 위치(인덱스 번호) 확인

 

  • 변수명. find(원하는 특정 문자열)로 사용
  • find() -> 앞에서부터(인덱스 0번부터) 찾음
  • rfind() -> 뒤에서부터(인덱스 -1번부터) 찾음 -> 하지만 인덱스 번호는 앞에서부터 세어서 알려줌 
  • find() 함수는 매치하는 첫 번째 인덱스 번호만 반환 -> 매치하는 모든 인덱스 번호를 반환하는 건 아님
  • 변수명. find(원하는 특정 문자열, 시작지점으로 삼을 인덱스 번호) 도 가능

 

 

4 - 4 . 문자열 대체

 

  • 변수명.replace(원래 글자, 새 글자)로 사용
  • replace() -> 원하는 문자열 교체

 

 

4 - 5 . 문자열 양쪽 공백 제거 

 

  • 변수명.strip() 으로 사용
  • strip() -> 문자열의 시작과 끝에 있는 공백 제거해 줌

 

 

4 - 6 . 문자열 분리 

 

  • 변수명.split(분리가 되는 기준)
  • split() -> 문자열을 분리해 줌

 

 

4 - 7 . 문자열 결합 

 

  • '구분자'.join(리스트 또는 튜플)로 사용
  • join() -> () 괄호 안에 든 내용물들을 구분자로 이어 붙여줌

 

 

4 - 8 . 접두사와 접미사 확인

 

  • 변수명. start(end)swith('찾을 단어')
  • start(end)swith -> 특정 문자열이 원하는 단어로 시작(끝)하는지 검사
  • 불린 형 -> True, False 

 

 

 

 


 

 

 

### 문자열은 불변 데이터 타입 ###

 

 - 문자열 객체가 생성된 후에는 그 값을 바꿀 수 없음

- replace()를 사용하는 것은 기존 문자열을 사용해 새로운 문자열 변수를 만드는 것일 뿐, 기존 문자열을 바꿀 순 없음 

 

 

 


 

 

 

5 . 함수와 메서드의 차이 

 

  함수 메서드
정의 독립적으로 존재하는 코드블록 특정 클래스, 객체에 소속된 함수
소속 전역적 객체 내부
호출 방식 이름으로 호출 ex) func() 객체를 통해 호출 ex)obj.method()
상태 공유 전달받은 인자만으로 작업 수행 객체의 속성에 접근 가능

 

'Python 기초' 카테고리의 다른 글

6 . 컬렉션 타입 (리스트, 튜플)  (0) 2026.05.26
5 . 연산자  (0) 2026.05.22
4 . 파이썬의 입출력  (0) 2026.05.22
2 . 파이썬 변수  (0) 2026.05.21
1 . windows 파이썬 설치, 개발환경 구축  (0) 2026.05.20