티스토리 뷰
학습목표
- 자료 유형을 정확히 이해하고, 자료형을 변환 할 수 있다.
- 문자열 데이터의 포맷팅, 인덱싱을 할 수 있다
학습목차
1. 기본 자료형
2. 문자열 자료
3. 문자열 연산
4. 문자열 인덱싱
5. 문자열 슬라이싱
6. 문자열 명령어
7. 문자열 포맷팅
자료(data)
자료란 프로그램이 처리할 수 있는 모든 것을 말한다. 다시 말해, 컴퓨터 프로그램은 결국 자료를 입력받아 처리하고, 결과를 출력하는 것이다.
자료형(data type)
- 자료형은 프로그래밍을 할때 사용하기 위해서 자료를 기능호가 역할에 따라 구분한 것
- 프로그램밍을 위해서는 자료형을 충분히 습득해야 자료형에 따라 계산과 같은 처리를 원활하게 진행함.
기본자료형
파이썬에서는 다양한 자료형(data type)을 제공한다.
자료형 | 설명 | 예시 |
int | 정수형 | 5, -10 |
float | 실수형 | 3.14, -2.5 |
str | 문자열 | "hello", '파이썬' |
bool | 참/거짓 | True, False |
list | 리스트(여러 값을 순서대로 저장) | [1, 2, 3], ["a", "b"] |
tuple | 튜플(리스트와 비슷하지만 변경 불가) | (1, 2), ("x", "y") |
dict | 딕셔너리(키-값 쌍으로 구성) | {"이름": "홍길동", "나이": 20} |
set | 집합(중복 없는 데이터 모음) | {1, 2, 3} |
자료 유형 확인 명령어 : type()
- 파이썬에서는 type() 함수를 사용하여 어떤 자료가 어떤 자료형인지 확인할 수 있다.
print(type(10)) # <class 'int'>
print(type(3.14)) # <class 'float'>
print(type("hello")) # <class 'str'>

02. 문자열 정의
문자열(String)은 텍스트 데이터를 나타내는 자료형이다.
문자열은 작은따옴표 ' ' 또는 큰따옴표 " " 로 감싸서 표현한다.
text1 = 'Hello, Python!'
text2 = "안녕하세요"
예시 | 설명 |
'apple' | 영문 텍스트 |
"파이썬" | 한글 텍스트 |
"1234" | 숫자처럼 보여도 문자열 |
'', "" | 빈 문자열 |
- 숫자처럼 보이더라도 따옴표 안에 있으면 문자열이다!
문자열 작성 방법
1️⃣ 큰따옴표로 문자열 감싸기
"Hello World"
2️⃣ 작은따옴표로 문자열 감싸기
mytxt = 'hello world!'
print(mytxt)
3️⃣ 여러 줄 문자열 작성하기: 큰따옴표 3개(""")로 감싸기
txt = """Life is too short,
You need python"""
print(txt)
4️⃣ 작은따옴표 3개(''')로 감싸기
txt = '''Life is too short,
You need python'''
print(txt)
5️⃣ 따옴표를 포함하고 싶을 때
food = "Python's favorite food is perl"
print(food)
✅ 문자열 안에 작은따옴표 '가 있을 때는 큰따옴표 "로 감싸면 안전하게 표현할 수 있다.
문자열 정의-이스케이프 문자 사용하기
**이스케이프 문자(Escape Character)**란 역슬래시(\)와 함께 사용하는 특수 문자이다.
- 출력 결과를 보기 좋게 만들기 위해 사용
- 주로 줄바꿈, 탭 간격, 따옴표 표현 등에 사용됨
이스케이프 문자 | 의미 | 예시 | 출력결과 |
\n | 줄 바꿈 | print("Hello\nWorld") | Hello World |
\t | 탭 (간격) | print("Name:\tPython") | Name: Python |
\' | 작은따옴표 | print('It\'s okay') | It's okay |
\" | 큰따옴표 | print("She said \"Hi\"") | She said "Hi" |
\\ | 역슬래시 자체 | print("C:\\Python") | C:\Python |
print("파이썬은\n정말 재미있어요!")
print("경로: C:\\Users\\Python")
print("그녀가 말했어요: \"안녕!\"")
문자열연산
파이썬에서는 문자열을 더하거나 곱할 수 있다!
- 이것은 문자처럼 보이지만 실제로는 연산 가능한 자료형이라는 의미이다.
- 직관적인 표현으로 사용자의 생각을 잘 반영하는 파이썬의 특징 중 하나이다.
a = "Hello"
b = "Python"
print(a + b)
▶️ 출력 결과: HelloPython
- 두 문자열을 붙여서 하나의 문자열로 연결한다.
a = "Hi~"
print(a * 3)
출력 결과: Hi~Hi~Hi~
- 문자열을 원하는 횟수만큼 반복해서 출력한다.
⚠️ 주의 사항
숫자와 문자열은 직접 더하거나 곱할 수 없다.
print("Age: " + 20) # ❌ 오류 발생!
문자열 연결(concatenation)
두 개의 문자열을 덧셈 연산자 + 를 사용하여 하나로 합칠 수 있다.
- "Python"이라는 head 변수와
" is fun!"이라는 tail 변수를 더하면
→ 결과는 "Python is fun!"이 된다.
str1 = "Hello"
str2 = "World"
print(str1 + str2)
▶️ 출력: HelloWorld
- 문자열 연결 시 공백, 쉼표 등도 문자열로 추가해줘야 한다.
문자열연산-곱하기(*)
파이썬에서는 문자열에 * 연산자를 사용하면 해당 문자열을 여러 번 반복할 수 있다.
a = "Hi~"
print(a * 3)
print("=" * 30)
print(" 파이썬 문자열 곱하기 예제 ")
print("=" * 30)
▶️ 출력 결과:
==============================
파이썬 문자열 곱하기 예제
==============================
- 콘솔 출력 시 구분선을 만들거나 디자인할 때 매우 유용하다!
- 곱하는 숫자는 정수형(int) 이어야 함
- 음수를 곱하면 빈 문자열 반환
문자열 포매팅(formatting)
문자열 안에 변수를 넣는 방법을 문자열 포매팅(String Formatting)이라고 한다.
✅ 1. % 방식 (고전 방식)
name = "Alice"
age = 23
print("이름: %s, 나이: %d" % (name, age))
📌 포맷 기호: %s(문자열), %d(정수), %f(실수)
✅ 2. format() 방식
name = "Bob"
score = 88
print("이름: {}, 점수: {}".format(name, score))
또는 인덱스 지정도 가능:
print("이름: {0}, 점수: {1}".format(name, score))
✅ 3. f-string 방식 (가장 최신, 가장 추천 ⭐)
name = "Eve"
lang = "Python"
print(f"{name}은 {lang}을 배우고 있어요.")
📌 장점:
- 간결하고 가독성이 뛰어남
- 중괄호 {} 안에 변수명 그대로 삽입
- 숫자 포맷팅도 쉬움
pi = 3.14159
print(f"원주율: {pi:.2f}") # 소수 둘째 자리까지
문자형으로 변환 – str() 함수
str() 함수는 숫자나 다른 자료형을 문자열(str)로 변환해준다.
str(값)
숫자, 불리언 등 다른 자료형을 문자열로 변환할 때 사용
🔧 예제
a = 123
b = str(a)
print(b) # 출력: '123'
print(type(b)) # 출력: <class 'str'>
📌 활용 예: 숫자와 문자열을 함께 출력할 때
age = 20
print("나이는 " + str(age) + "살입니다.")
❗ 숫자와 문자열은 그냥 더할 수 없기 때문에 숫자를 str()로 변환해야 함
문자열 인덱싱 (indexing)
인덱싱(indexing)이란 문자열 안의 각 문자를 번호로 가리켜서 불러오는 것이다.
- [] 대괄호를 사용하여 특정 위치의 문자를 가져온다.
- 파이썬은 0부터 숫자를 센다 (첫 글자가 0번).
text = "Python"
print(text[0]) # P
print(text[1]) # y
🔢 인덱스 번호 예시
text = "Python"
↓↓↓↓↓↓
[0][1][2][3][4][5]
P y t h o n
- text[0] → 'P'
- text[5] → 'n'
🔁 음수 인덱싱 (뒤에서부터)
text = "Python"
↓↓↓↓↓↓
[-6][-5][-4][-3][-2][-1]
P y t h o n
- 인덱스 범위를 벗어나면 오류 발생
print(text[10]) # IndexError!
문자열 슬라이싱(slicing)
**슬라이싱(slicing)**이란 문자열에서 일정 부분을 잘라내는 것이다.
- 인덱스를 사용해 원하는 범위의 문자들을 추출할 수 있다.
- 기본 문법은 다음과 같다:
문자열[시작:끝]
text = "Python"
print(text[0:3]) # 'Pyt'
print(text[2:5]) # 'tho'
- [0:3] → 인덱스 0부터 2까지 (3은 포함하지 않음)
- 슬라이싱은 이상~미만 (시작 이상, 끝 미만) 의 범위를 따른다.
🔍 인덱스 위치 이해
text = "Python"
↓↓↓↓↓↓
[0][1][2][3][4][5]
P y t h o n
text[1:4] → 'yth' # 인덱스 1부터 3까지
🔁 생략도 가능하다!
text[:4] # 처음부터 4 미만 → 'Pyth'
text[2:] # 2부터 끝까지 → 'thon'
text[:] # 전체 → 'Python'
예제 "20230331Rainy"라는 문자열을 날짜 부분과 날씨 부분으로 분리하고 싶을 때
a = "20230331Rainy"
date = a[:8] # 앞 8글자 (0~7 인덱스)
weather = a[8:] # 인덱스 8부터 끝까지
print("날짜:", date)
print("날씨:", weather)
▶️ 출력 결과:
날짜: 20230331
날씨: Rainy
🔍 슬라이싱의 기준
- a[:8]
→ 0 이상 8 미만 → '20230331' (총 8자리) - a[8:]
→ 8 이상 끝까지 → 'Rainy' - 이렇게 하면 a[8] 값을 기준으로 문자열을 두 조각으로 분할 가능
- Total
- Today
- Yesterday