🎯 학습 목표
- 산술 연산자(몫·나머지·거듭제곱 포함)를 사용한다.
- 문자열을 인덱싱·슬라이싱하고 주요 메서드를 쓴다.
- f-문자열로 값을 문자열에 끼워 넣는다.
💻 산술 연산자
print(7 + 3) # 10 덧셈
print(7 - 3) # 4 뺄셈
print(7 * 3) # 21 곱셈
print(7 / 3) # 2.333... 나눗셈(항상 실수)
print(7 // 3) # 2 몫(정수 나눗셈)
print(7 % 3) # 1 나머지
print(7 ** 3) # 343 거듭제곱(7의 3승)
%(나머지)는 “짝수/홀수 판별”, “몇 개씩 묶기” 등에 자주 쓰입니다. 예: n % 2 == 0 이면 짝수.
💻 문자열 인덱싱과 슬라이싱
s = "PYTHON"
# 012345 (앞에서 0부터)
# -654321 (뒤에서 -1부터)
print(s[0]) # 'P' 첫 글자
print(s[-1]) # 'N' 마지막 글자
print(s[1:4]) # 'YTH' 1번부터 4번 '전'까지 (끝 제외)
print(s[:3]) # 'PYT' 처음부터 3 전까지
print(s[3:]) # 'HON' 3번부터 끝까지
print(s[::-1]) # 'NOHTYP' 거꾸로
슬라이싱 [start:end]은 end 직전까지 가져옵니다(end 미포함). 이 규칙은 리스트에서도 똑같이 적용됩니다(3강).
💻 자주 쓰는 문자열 메서드
s = " Hello, Python "
print(s.strip()) # 'Hello, Python' 양끝 공백 제거
print(s.upper()) # 대문자로
print(s.lower()) # 소문자로
print("Python".replace("P","J")) # 'Jython' 치환
print("a,b,c".split(",")) # ['a', 'b', 'c'] 나누기 → 리스트
print("-".join(["2024","06","28"]))# '2024-06-28' 합치기
print("Python".startswith("Py")) # True
print(len("Python")) # 6 길이
주의: 문자열은 불변(immutable)이라 위 메서드는 원본을 바꾸지 않고 새 문자열을 반환합니다. 결과를 쓰려면 변수에 다시 담아야 합니다.
💻 f-문자열 — 값 끼워 넣기 (강력 추천)
name = "영희"; score = 95
print(f"{name}님의 점수는 {score}점입니다.")
# 영희님의 점수는 95점입니다.
# 식도 넣을 수 있고, 서식 지정도 가능
print(f"평균: {(80+95)/2:.1f}") # 평균: 87.5 (소수점 1자리)
print(f"{1234567:,}") # 1,234,567 (천 단위 콤마)
⚠️ 주의사항
- 문자열과 숫자는 직접 더할 수 없습니다:
"점수" + 95→ 에러."점수" + str(95)처럼 변환하거나 f-문자열을 쓰세요. /는 결과가 항상 실수(float)입니다. 정수 몫이 필요하면//를 쓰세요.
💡 팁
- 문자열 합치기는 f-문자열이 가장 읽기 좋습니다.
+로 길게 잇는 것보다 명확합니다. - 인덱스가 범위를 벗어나면(
s[100]) 에러지만, 슬라이싱(s[100:])은 빈 문자열을 줄 뿐 에러가 안 납니다.