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 |