[파이썬] 비전공자 / 노베이스를 위한 파이썬 입문 기본 문법 총정리 (파이썬 시리즈 2편)

파이썬(Python)은 가장 배우기 쉬운 프로그래밍 언어로 꼽힙니다. 문법이 간결하고 직관적이라, 비전공자나 프로그래밍 초보자도
짧은 시간 안에 코드의 흐름을 이해할 수 있습니다. 특히 AI 및 자동화 등 여러 부분에서 널리 사용되고 있는 프로그래밍 언어입니다.

이번 글에서는 비전공자 / 무경력자 / 입문자를 위해 파이썬의 기본 문법, 핵심 개념, 실무 응용, 정보처리기사 실기 기출형 문제까지 한 번에 정리했습니다.

파이썬 입문

파이썬의 특징

  • 문법이 간결하고 사람이 읽기 쉬움.
  • 설치와 실행이 간단하며, 다양한 OS에서 실행 가능.
  • “인터프리터 언어”로, 한 줄씩 바로 실행 결과를 확인할 수 있음.
  • 인공지능(AI), 데이터 분석, 웹 개발, 자동화 등 실무 활용도가 높음.

한줄 요약 : 파이썬은 “개발자가 쓰기 편한 언어” 이자, “실무에서 활용도가 가장 높은 언어” 입니다.


변수(Variable)와 자료형(Data Type)

변수 : 데이터를 저장하는 이름표입니다.
자료형 : 변수에 어떤 종류의 데이터가 들어가는지를 결정합니다.

name = "제로"      # 문자열(str)
age = 25           # 정수(int)
height = 174.6     # 실수(float)
is_dev = True      # 논리형(bool)

print(name, age, height, is_dev)

출력 결과

제로 25 174.6 True

파이썬의 큰 특징

  • 변수 선언 시 자료형을 따로 명시하지 않아도 됩니다. → “동적 타이핑 언어(Dynamic Typing)”
  • 한 변수에 다양한 자료형을 순서대로 넣을 수 있습니다.
a = 10
a = "문자열로 변경 가능"

문자열(String)과 슬라이싱(Slicing)

파이썬에서 문자열은 문자들의 집합입니다. 리스트처럼 인덱스(번호) 를 사용해 원하는 위치의 문자를 가져올 수 있습니다.

text = "Python"
print(text[0])     # P
print(text[1:4])   # yth
print(text[::-1])  # nohtyP (역순)

슬라이싱(Slicing)
[시작:끝:간격] 형태로 부분 문자열을 가져옵니다.
끝 인덱스는 포함되지 않습니다.

word = "developer"
print(word[0:3])   # dev
print(word[3:])    # eloper
print(word[:])     # developer (전체)

Tip) 정보처리기사 실기 포인트
문자열 슬라이싱은 실기에서 자주 나오는 단골문제 입니다. 매년 출제되다가 2025년부터 주춤하더니 이번 2025 정보처리기사 실기 3회차 시험에서는 슬라이싱 문제는 아니었지만 이 개념을 활용해야 하는 문제가 출제되었습니다. 반드시 제대로 이해하셔야 합니다.

예제 : 주민등록번호에서 성별 숫자를 추출하라.

id = "010101-3123456"
print(id[7])  # 출력: 3

조건문(If)과 반복문(For / While)

조건문(if)

score = 85
if score >= 90:
    print("A등급")
elif score >= 80:
    print("B등급")
else:
    print("C등급")

출력 결과

B등급

반복문(for)

for i in range(3):
    print("안녕", i)

출력 결과

안녕 0
안녕 1
안녕 2

반복문(while)

count = 0
while count < 3:
    print("반복중:", count)
    count += 1

출력 결과

반복중: 0
반복중: 1
반복중: 2

Tip) 정보처리기사 실기 포인트
for i in range() 구조와 while 반복 조건“출력 결과를 예측하시오” 유형으로 자주 등장합니다.


함수(Function)

함수(Function)반복되는 코드를 묶어두고 재사용할 수 있도록 하는 기능입니다.

def greet(name):
    print("안녕하세요,", name, "님!")

greet("제로")

출력 결과

안녕하세요, 제로 님!

함수의 구조

def 함수이름(매개변수):
    실행할 코드
    return 결과값

예시 코드

def add(a, b):
    return a + b

result = add(3, 5)
print(result)  # 출력: 8

리스트[List], 튜플(Tuple), 딕셔너리{Dictionary}

구분리스트 (list)튜플 (tuple)딕셔너리 (dict)
형태[ ]( ){ }
수정 가능 여부✅ 가능❌ 불가능✅ 가능
인덱스 접근가능가능키(Key)로 접근
중복허용허용키는 중복 불가, 값은 중복 가능
사용 목적여러 데이터를 순서대로 저장변경되지 않는 데이터 고정 저장데이터 간의 관계를 표현
예시fruits = ['사과', '바나나', '포도']point = (10, 20)user = {'이름': '제로', '나이': 29}

Tip) 괄호의 형태가 어떤지를 잘 확인하세요. 필수 암기 사항!


어디에 주로 쓰일까?

리스트 (List) : “순서 있는 여러 개의 데이터를 다룰 때”
  • 반복문 처리에 유용
  • 데이터 추가/삭제가 자주 일어날 때
  • 입력값을 순서대로 저장해야 할 때
# 예시 1. 쇼핑몰 장바구니
cart = ['키보드', '마우스', '모니터']
cart.append('USB 허브')
print(cart)  # ['키보드', '마우스', '모니터', 'USB 허브']

# 예시 2. 학생 이름 목록
students = ['영희', '철수', '민수']
for s in students:
    print(s)

실무에서 주로 쓰이는 예시

  • 게시판 댓글 목록
  • 주문 내역 리스트
  • 크롤링 데이터 저장

튜플 (Tuple) : 변하지 않아야 하는 고정 데이터
  • 읽기 전용 데이터 저장 시 안전
  • 좌표, 설정값, 상수 등 변경될 이유가 없는 데이터에 사용
  • 속도 면에서 리스트보다 빠름
# 예시 1. 2D 좌표 저장
position = (120, 250)

# 예시 2. 데이터베이스 연결 정보 (변경 금지)
db_config = ('localhost', 3306, 'root', '1234')

실무에서 주로 쓰이는 예시

  • (x, y) 위치 좌표
  • API에서 고정 응답 구조 (ex. (성공여부, 응답데이터))
  • 상수형 환경 설정

딕셔너리 (Dictionary) : 데이터 간의 관계(이름→값)을 표현할 때
  • 키(Key)-값(Value) 구조로 데이터를 관리
  • 검색, 매핑, JSON 데이터 처리에 매우 유용
  • 순서보다 “이름 기반 접근”이 중요할 때
# 예시 1. 회원 정보 저장
user = {
    '이름': '제로',
    '나이': 29,
    '직업': '개발자'
}
print(user['이름'])  # 제로

# 예시 2. 서버 응답(JSON 형태)
response = {
    'status': 200,
    'message': 'success',
    'data': ['apple', 'banana', 'cherry']
}

실무에서 주로 쓰이는 예시

  • API 응답 데이터 구조(JSON)
  • 사용자 정보, 설정 파일 (config)
  • 데이터베이스에서 가져온 행(Row)을 객체처럼 표현

Tip) 정보처리기사 실기 포인트
리스트 : 인덱스 접근 등의 기출 문제로 출제 되는 편입니다.
딕셔너리 : 키 / 값 출력이 기출문제로 자주 출제됩니다.


실전 예제 — 정보처리기사 실기 기출형 문제

다음 코드의 출력 결과를 예측해보세요

def func(x):
    return x * 2

x = 3
print(func(x) + func(func(x)))

🧩 풀이

1️⃣ func(3) → 6
2️⃣ func(func(3)) → func(6) → 12
3️⃣ 합계 = 6 + 12 = 18

정답: 18


실무에서 자주 쓰는 코드 예시

(1) 리스트 내포(List Comprehension)

numbers = [x * 2 for x in range(5)]
print(numbers)  # [0, 2, 4, 6, 8]

(2) 문자열 포매팅

name = "제로"
print(f"안녕하세요, {name}님!")  # f-string 사용

(3) 파일 입출력

with open("test.txt", "w") as f:
    f.write("Hello Python!")

참고 자료


이 글은 비전공자 개발자 제로의 성장 블로그 | 제로투데브 시리즈 중 ‘파이썬 시리즈 2편’입니다.
파이썬 시리즈 1편을 아직 보지 못하셨다면? [파이썬] 파이썬에 대해 알아보자(파이썬 시리즈 1편)

다음 편 예고

다음 편에서는 [파이썬] 비전공자 / 노베이스를 위한 파이썬 입문 기본 활용(파이썬 시리즈 3편) 으로 이어집니다. 많은 기대 부탁드립니다!

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤