기초

파이썬 기초 02강 — 숫자와 문자열 다루기

🎯 학습 목표

  • 산술 연산자(몫·나머지·거듭제곱 포함)를 사용한다.
  • 문자열을 인덱싱·슬라이싱하고 주요 메서드를 쓴다.
  • 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:])은 빈 문자열을 줄 뿐 에러가 안 납니다.