옴클
학습문제집문제제출이력게시판그룹휴식리더보드

© 2026 옴클. All rights reserved.

이용약관개인정보처리방침

    파이썬 기초 문법

    문제집 70문제
    1. 1파이썬 시작하기6문제
    2. 2변수와 문자열2문제
    3. 숫자와 수학
    4. 불리언과 조건문
    5. 반복문과 리스트
    6. 함수
    7. 딕셔너리
    8. 튜플과 집합
    9. 파일 읽기와 쓰기
    10. 모듈과 표준 라이브러리

    직접 해보세요

    python
    1. 학습
    2. /
    3. 파이썬 기초 문법
    4. /
    5. 변수와 문자열

    변수와 문자열

    레슨 2 · 파이썬 기초 문법

    변수란?

    변수는 데이터를 담아두는 이름 있는 상자예요. 변수이름 = 값 형태로 값을 저장해요.

    python
    name = '지수'
    age = 13

    문자열 (String)

    문자열은 텍스트 데이터예요. 작은따옴표(') 또는 큰따옴표(")로 감싸요.

    python
    greeting = '안녕하세요!'
    message = "파이썬은 재미있어요."

    문자열 연결과 반복

    python
    first = '파이'
    second = '썬'
    print(first + second)    # 파이썬
    print('ha' * 3)          # hahaha

    문자열 인덱스

    문자열의 각 문자에는 **인덱스(번호)**가 있어요. 첫 번째 문자의 인덱스는 0이에요! (1이 아닙니다)

     문 자:   P  y  t  h  o  n
    인덱스:   0  1  2  3  4  5
    
    python
    word = 'Python'
    print(word[0])   # P  ← 인덱스 0이 첫 번째!
    print(word[1])   # y
    print(word[-1])  # n  ← 음수 인덱스: 뒤에서부터
    print(word[-2])  # o

    ⚠️ 주의! 파이썬 인덱스는 0부터 시작해요.


    문자열 슬라이싱

    [시작:끝] 형태로 문자열의 일부를 잘라낼 수 있어요. (끝 인덱스는 포함 안 됨)

    python
    word = 'Python'
    print(word[0:3])   # Pyt  (0,1,2번 인덱스)
    print(word[2:])    # thon (2번부터 끝까지)
    print(word[:3])    # Pyt  (처음부터 2번까지)
    print(word[-3:])   # hon  (뒤에서 3번째부터)

    주요 문자열 메서드

    python
    text = '  Hello, World!  '
    
    print(text.upper())           # '  HELLO, WORLD!  '
    print(text.lower())           # '  hello, world!  '
    print(text.strip())           # 'Hello, World!'  ← 앞뒤 공백 제거
    print(text.replace('World', '파이썬'))  # '  Hello, 파이썬!  '
    print('파이썬'.startswith('파'))         # True
    print('파이썬'.endswith('썬'))           # True
    print(','.join(['사과', '바나나', '딸기']))  # '사과,바나나,딸기'

    문자열 길이

    len() 함수로 문자열의 길이를 알 수 있어요.

    python
    name = '지수'
    print(len(name))   # 2

    문자열 포맷 — .format() 방식

    python
    name = '지수'
    age = 13
    print('이름: {}, 나이: {}살'.format(name, age))

    실행 결과:

    이름: 지수, 나이: 13살
    

    문자열 포맷 — f-string (권장)

    파이썬 3.6 이후에는 f-string이 더 간결하고 빠른 방법이에요.

    python
    name = '지수'
    age = 13
    print(f'이름: {name}, 나이: {age}살')
    # 수식도 바로 계산 가능
    print(f'10년 후 나이: {age + 10}살')

    실행 결과:

    이름: 지수, 나이: 13살
    10년 후 나이: 23살
    

    💡 f-string 사용 권장: 문자열 앞에 f를 붙이고 변수는 {}로 감싸요.


    문자열 입력받기

    문자열은 input()으로 받은 값을 그대로 사용하면 돼요. (숫자와 달리 int() 변환이 필요 없어요!)

    단어 1개 입력받기

    python
    name = input()
    print(f'안녕하세요, {name}님!')

    입력:

    지수
    

    출력:

    안녕하세요, 지수님!
    

    단어 여러 개 입력받기 (변수로 각각 받기)

    공백으로 구분된 단어를 각각 다른 변수에 저장하고 싶을 때는 split()으로 나눠서 변수에 나눠 담아요.

    python
    first, last = input().split()
    print(f'성: {last}, 이름: {first}')

    입력:

    지수 김
    

    출력:

    성: 김, 이름: 지수
    

    ⚠️ split()이 나눈 값의 개수와 변수 개수가 맞아야 해요. 몇 개가 들어올지 모를 때는 리스트로 받아요. (자세한 내용은 '리스트' 단원에서 다뤄요.)

    다른 문자로 구분된 입력받기

    쉼표(,)나 콜론(:) 등 공백이 아닌 다른 문자로 값이 구분될 때는 split()의 괄호 안에 구분자를 직접 지정해요.

    python
    date = input().split('-')
    print(date)          # ['2026', '06', '08']
    
    year, month, day = input().split('-')
    print(f'{year}년 {month}월 {day}일')

    입력:

    2026-06-08
    

    출력:

    ['2026', '06', '08']
    2026년 06월 08일
    

    💡 split()을 괄호 없이 쓰면 공백(스페이스, 탭, 줄바꿈 등) 기준으로 나누고, split('구분자')처럼 문자를 넣으면 그 문자를 기준으로 나눠요.

    구분 형태예시 입력받는 방법
    공백으로 구분지수 김input().split()
    쉼표로 구분사과,바나나,딸기input().split(',')
    다른 문자로 구분2026-06-08input().split('-')

    문장(공백 포함 한 줄) 입력받기

    띄어쓰기를 포함한 문장 전체를 하나의 문자열로 받고 싶을 때는 split() 없이 input()을 그대로 사용해요.

    python
    sentence = input()
    print(f'입력한 문장: "{sentence}"')
    print(f'길이: {len(sentence)}자')

    입력:

    나는 파이썬을 공부하고 있어요
    

    출력:

    입력한 문장: "나는 파이썬을 공부하고 있어요"
    길이: 16자
    
    입력 형태예시 입력받는 방법
    단어 1개지수input()
    단어 여러 개 (변수로 각각)지수 김a, b = input().split()
    문장 (공백 포함 한 줄)나는 파이썬을 공부하고 있어요input()

    정리

    • 변수: 변수이름 = 값
    • 문자열 인덱스: 0부터 시작 (첫 번째 = 0)
    • 음수 인덱스: 뒤에서부터 (-1이 마지막)
    • 슬라이싱: [시작:끝] (끝은 포함 안 됨)
    • 포맷: .format() 또는 f-string (더 현대적)

    코드를 직접 실행해보고 싶나요?

    로그인하면 코드 에디터를 사용하고 진도를 저장할 수 있어요.