티스토리 뷰

학습목표
- 자료 유형을 정확히 이해하고, 자료형을 변환 할 수 있다.
- 문자열 데이터의 포맷팅, 인덱싱을 할 수 있다

학습목차


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] 값을 기준으로 문자열을 두 조각으로 분할 가능

 

728x90
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
반응형