본문 바로가기

코딩과 AI와 자동화/코딩

2편. 파이썬 기본 문법 제대로 이해하기

반응형

프로그래밍을 처음 학습할 때 가장 중요한 단계는 기본 문법을 명확하게 이해하는 것이다.
특히 파이썬은 문법이 단순하고 직관적인 편이기 때문에, 기초 문법을 체계적으로 정리해 두면 이후 알고리즘, 웹 개발, 데이터 분석 등으로 확장할 때 큰 장점을 가진다.
본 글에서는 파이썬의 핵심 기초 문법을 정리함으로써, 초심자가 파이썬 코드를 “읽고 해석할 수 있는 수준”에 도달하는 것을 목표로 한다.


1. 파이썬 코드의 실행 방식

파이썬은 대표적인 인터프리터 언어이다.
이는 코드를 한 번에 기계어로 컴파일해 두고 실행하는 방식이 아니라, 실행 시점에 위에서 아래로 순차적으로 해석하면서 실행한다는 의미이다.

 

예시는 다음과 같다.

print("Hello, Python!")
print("두 번째 줄입니다.")

위 예제에서는 첫 번째 줄의 print 문이 먼저 실행되고, 이후 두 번째 줄이 실행된다.
이러한 “위에서 아래로”라는 실행 순서는 변수 사용에도 직접적인 영향을 미친다.

print(x)   # 에러 발생
x = 10

위 코드는 변수 x가 정의되기 전에 사용되므로 오류가 발생한다.
따라서 파이썬 코드를 작성할 때는, 변수가 어떤 시점에 정의되고, 그 이후 어느 위치에서 사용되는지를 항상 고려해야 한다.


2. 변수와 기본 자료형

파이썬에서 **변수(variable)**는 특정 값을 가리키는 이름(label)로 사용된다.
자바, C와 같이 자료형을 미리 명시하지 않고, 이름 = 값의 형태로 간단히 정의할 수 있다.

 
age = 25           # 정수형 (int)
height = 175.5     # 실수형 (float)
name = "홍길동"    # 문자열 (str)
is_student = True  # 불리언 (bool)

파이썬에서 자주 사용되는 기본 자료형은 다음과 같다.

  1. int : 정수형 (예: 10, -3, 0)
  2. float: 실수형 (예: 3.14, -0.5)
  3. str : 문자열형 (예: "Python", "홍길동")
  4. bool : 논리형, 참/거짓 (True, False)

자료형은 type() 함수를 통해 확인할 수 있다.

x = 10
print(type(x))  # <class 'int'>

변수 이름 규칙

변수 이름을 정의할 때는 다음 규칙을 준수해야 한다.

  • 숫자로 시작할 수 없다.
    • 1age (X), age1 (O)
  • 공백을 포함할 수 없다.
    • user name (X), user_name (O)
  • 한글 변수명도 허용되지만, 일반적으로는 영어 소문자 + 밑줄(_) 조합을 권장한다.
  • a, b와 같이 의미 없는 이름보다는, user_age, total_price처럼 변수의 역할이 드러나는 이름이 바람직하다.


3. 출력과 입력: 사용자와의 상호작용

3-1. 출력: print() 함수

print() 함수는 값을 화면에 출력하는 가장 기본적인 함수이다.

print("안녕하세요")
print(10)
print("파이썬 기본 문법")

여러 개의 값을 동시에 출력하고자 할 때는 쉼표(,)로 구분하여 전달할 수 있다.

 
name = "홍길동"
age = 25
print("이름:", name, "/ 나이:", age)

3-2. 입력: input() 함수

input() 함수는 사용자의 입력을 문자열로 받아들인다.

name = input("이름을 입력하세요: ")
print("안녕하세요,", name, "님.")

중요한 점은, input()으로 받은 값은 항상 **문자열(str)**이라는 점이다.
숫자 연산에 활용하기 위해서는 형 변환이 필요하다.

age = input("나이를 입력하세요: ")  # 문자열
age = int(age)                     # 정수형으로 변환
print("내년 나이는", age + 1, "살입니다.")

이와 같이, int(), float() 등의 함수를 사용해 문자열을 적절한 숫자형으로 변환한 후 연산해야 한다.


4. 연산자: 산술, 비교, 논리

4-1. 산술 연산자

산술 연산자는 기본적인 수학 연산을 수행한다.

 
a = 7
b = 3

print(a + b)   # 덧셈: 10
print(a - b)   # 뺄셈: 4
print(a * b)   # 곱셈: 21
print(a / b)   # 실수 나눗셈: 2.333...
print(a // b)  # 몫: 2
print(a % b)   # 나머지: 1
print(a ** b)  # 제곱: 343

여기서 /와 //의 차이를 정확히 이해하는 것이 중요하다.

  • / : 항상 실수(부동소수점) 나눗셈 결과를 반환
  • // : 나눗셈의 몫만을 정수 또는 정수에 가까운 형태로 반환

4-2. 비교 연산자

비교 연산자는 두 값의 대소 및 동일 여부를 판단하여 True 또는 False를 반환한다.

 
x = 10
y = 5

print(x > y)    # True
print(x < y)    # False
print(x == y)   # False (같다 비교)
print(x != y)   # True  (다르다 비교)
print(x >= 10)  # True
print(x <= 5)   # False

4-3. 논리 연산자

논리 연산자는 여러 조건식을 결합하는 데 사용된다.

  • and : 모든 조건이 참일 때만 True
  • or : 조건 중 하나라도 참이면 True
  • not : 논리값을 반전시킴
age = 20
is_student = True

print(age >= 18 and is_student)  # True
print(age < 18 or is_student)    # True
print(not is_student)            # False

5. 조건문(if): 상황에 따른 분기

조건문은 주어진 조건에 따라 코드의 흐름을 분기시키는 구조를 제공한다.
기본적인 형태는 다음과 같다.

 
if 조건식:
    실행할 코드

예를 들어, 다음 코드는 나이에 따라 성인 여부를 판별한다.

age = 20

if age >= 18:
    print("성인입니다.")

파이썬에서는 중괄호 대신 **들여쓰기(indent)**로 블록을 구분한다.
일반적으로 공백 네 칸을 하나의 들여쓰기 단위로 사용한다.

5-1. if / else 구조

age = 16

if age >= 18:
    print("성인입니다.")
else:
    print("미성년자입니다.")

5-2. if / elif / else 구조

복수의 조건을 세분화하여 처리하고자 할 때는 elif를 사용한다.

score = 85

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

위 코드는 위에서부터 조건식을 순차적으로 평가하고, 처음으로 True가 되는 조건식에 해당하는 블록만 실행한 뒤 나머지 분기는 평가하지 않는다.


6. 반복문(for, while): 작업의 반복 수행

6-1. for 반복문

for 반복문은 반복 횟수가 명확하게 정해져 있는 경우에 적합하다.
일반적으로 range() 함수와 함께 사용된다.

for i in range(5):
    print("현재 i 값:", i)

range(5)는 0, 1, 2, 3, 4를 생성하므로, 위 코드는 총 다섯 번 반복된다.

 

다음 예제는 1부터 5까지의 합을 계산하는 코드이다.

total = 0

for i in range(1, 6):  # 1부터 5까지
    total += i

print("1부터 5까지 합:", total)

6-2. while 반복문

while 반복문은 조건식이 참인 동안 반복을 수행한다.

count = 0

while count < 3:
    print("반복 중입니다.", count)
    count += 1

while 반복문을 사용할 때는, 루프 내부에서 조건을 변화시키지 않으면 무한 루프가 발생할 수 있으므로 종료 조건을 명확히 설계해야 한다.


7. 주석(comment)의 활용

주석은 파이썬 인터프리터가 실행 시 무시하는 부분으로, 코드에 대한 설명을 남기기 위해 사용된다.

  • 한 줄 주석: # 기호 뒤에 설명을 작성
  • 여러 줄 설명: """ ... """ 또는 ''' ... '''를 사용하여 사실상 주석처럼 활용
# 1부터 5까지 합을 구하는 코드
total = 0

for i in range(1, 6):
    total += i  # total에 i를 더함

print(total)

주석을 적절히 활용하면, 일정 시간이 지난 후 코드를 다시 읽을 때 의도와 흐름을 빠르게 복구할 수 있다는 점에서 큰 이점을 제공한다.
개인 프로젝트뿐만 아니라 협업 환경에서도 필수적인 습관이다.


8. 핵심 정리 및 연습 제안

본 글에서 다룬 파이썬 기본 문법은 다음과 같이 정리할 수 있다.

  1. 파이썬 코드는 위에서 아래로 순차적으로 실행된다.
  2. 변수는 값을 가리키는 이름이며, int, float, str, bool 등의 기본 자료형이 존재한다.
  3. print() 함수는 출력, input() 함수는 입력을 담당하며, 입력값을 숫자로 활용하기 위해서는 형 변환이 필요하다.
  4. 산술·비교·논리 연산자를 통해 다양한 계산 및 조건 판단을 수행할 수 있다.
  5. if / elif / else 조건문을 통해 상황에 따라 코드 흐름을 분기할 수 있다.
  6. for, while 반복문을 이용하면 같은 작업을 여러 차례 자동으로 수행할 수 있다.
  7. 주석은 코드의 의도 및 동작을 설명하여 가독성과 유지보수성을 향상시킨다.

마지막으로, 본 편의 내용을 실제로 손에 익히기 위한 간단한 연습 과제를 제시한다.

# 연습 과제 예시
# 1. input()으로 이름과 나이를 입력받은 후,
#    나이에 따라 "성인입니다." 또는 "미성년자입니다."를 출력하는 코드 작성
# 2. for문을 이용하여 1부터 10까지 합계를 구하는 코드 작성
# 3. while문을 사용하여 0부터 4까지 숫자를 출력하는 코드 작성
# 4. 각 코드에 주석을 추가하여, 각 줄이 어떤 역할을 하는지 설명
직접 작성하고 수정할 수 있는 단계로 자연스럽게 이동하게 된다.

다음 편에서는 리스트, 튜플, 딕셔너리와 같은 자료 구조, 그리고 def를 이용한 함수 정의 방법을 중심으로 보다 구조적인 파이썬 코드를 다룰 예정이다.

반응형