프로그래밍/Python

파이썬 프로그래밍의 기초: 변수, 자료형, 그리고 연산자

shimdh 2025. 2. 20. 09:58
728x90

파이썬은 초보자부터 전문가까지 모두가 사용할 수 있는 강력하고 유연한 프로그래밍 언어입니다. 이번 포스트에서는 파이썬 프로그래밍의 기초 중 가장 중요한 요소인 변수, 자료형, 그리고 연산자에 대해 깊이 있게 알아보겠습니다. 이 세 가지 개념을 이해하면 파이썬으로 더 복잡한 프로그램을 작성하는 데 큰 도움이 될 것입니다. 또한, 각 개념을 더욱 풍부하게 설명하기 위해 추가적인 예제와 설명을 포함했습니다.


1. 변수: 데이터를 저장하는 공간

1.1 변수란 무엇인가?

변수는 데이터를 저장하기 위한 이름 있는 공간입니다. 변수를 사용하면 프로그램 내에서 데이터를 쉽게 참조하고 조작할 수 있습니다. 예를 들어, 사용자의 나이를 저장하려면 다음과 같이 변수를 선언할 수 있습니다:

age = 25

여기서 age는 변수명이고, 25는 변수에 저장된 값입니다. 이제 age라는 변수를 통해 나이를 참조하거나 변경할 수 있습니다.

1.2 변수명 규칙

변수명을 지을 때는 몇 가지 규칙을 따라야 합니다:

  • 영문 대소문자, 숫자, 밑줄(_)로만 구성되어야 하며, 숫자로 시작할 수 없습니다.
  • 파이썬 예약어(예: if, for, while)는 변수명으로 사용할 수 없습니다.
  • 대소문자를 구분하므로, Ageage는 서로 다른 변수로 취급됩니다.

1.3 변수의 활용

변수는 단순히 값을 저장하는 것뿐만 아니라, 프로그램의 로직을 구성하는 데 중요한 역할을 합니다. 예를 들어, 사용자의 이름과 나이를 저장하고 이를 활용하여 인사 메시지를 출력하는 프로그램을 작성할 수 있습니다:

name = "Alice"
age = 25

greeting = f"안녕하세요, {name}님! 당신은 {age}살입니다."
print(greeting)

이 코드는 nameage 변수를 사용하여 동적인 메시지를 생성하고 출력합니다. 변수를 사용하면 데이터를 쉽게 관리하고 재사용할 수 있습니다.


2. 자료형: 데이터의 종류를 정의

2.1 자료형이란?

자료형은 변수가 어떤 종류의 데이터를 담고 있는지를 나타냅니다. 파이썬에는 여러 가지 기본 자료형이 있으며, 가장 일반적인 것들은 다음과 같습니다:

  • 정수 (int): 정수값을 나타냅니다.

      number = 10   # 정수
  • 부동 소수점 (float): 실숫값을 나타냅니다.

      pi = 3.14   # 부동 소수점
  • 문자열 (str): 텍스트 데이터를 나타내며 따옴표로 묶습니다.

      name = "Alice"   # 문자열
  • 불리언 (bool): 참(True) 또는 거짓(False)을 나타냅니다.

      is_student = True   # 불리언 값

2.2 자료형 예시

다음은 다양한 자료형을 사용한 예시입니다:

# 정수와 부동 소수점 연산
a = 5          # 정수
b = 2.5        # 부동 소수점

result_sum = a + b         # 덧셈 결과: 7.5
result_product = a * b     # 곱셈 결과: 12.5

print(result_sum)
print(result_product)

# 문자열 연결
first_name = "John"
last_name = "Doe"

full_name = first_name + " " + last_name   # 문자열 연결
print(full_name)                             # 출력 결과: John Doe

# 불리언 활용
is_active_user = False                       # 사용자 활성 상태 확인

if is_active_user:
    print("활성 사용자입니다.")
else:
    print("비활성 사용자입니다.")              # 출력 결과: 비활성 사용자입니다.

2.3 타입 확인 및 변환

파이썬에서는 변수의 자료형을 확인하거나 다른 자료형으로 변환할 수 있습니다:

x = [1, 2, 3]                  # 리스트
y_type = type(x)              # 리스트 x의 타입 확인
print(y_type)                 # <class 'list'> 출력

z_float_to_int = int(pi)       # float -> int 형 변환
print(z_float_to_int)         # 출력 결과: 3

z_str_to_int = int("123")      # string -> int 형 변환
print(z_str_to_int)           # 출력 결과: 123

2.4 자료형의 중요성

자료형은 프로그램의 정확성과 효율성을 보장하는 데 중요한 역할을 합니다. 예를 들어, 문자열과 정수를 더하려고 하면 오류가 발생합니다:

age = 25
name = "Alice"

# 오류 발생
# print(name + age)  # TypeError: can only concatenate str (not "int") to str

이를 해결하기 위해 age를 문자열로 변환해야 합니다:

print(name + " " + str(age))  # 출력 결과: Alice 25

3. 연산자: 데이터를 처리하고 조작하는 도구

3.1 산술 연산자

산술 연산자는 숫자 값을 계산하는 데 사용됩니다. 주요 산술 연산자는 다음과 같습니다:

  • 더하기 (+): 두 수를 더합니다.
  • 빼기 (-): 첫 번째 수에서 두 번째 수를 뺍니다.
  • 곱하기 (*): 두 수를 곱합니다.
  • 나누기 (/): 첫 번째 수를 두 번째 수로 나눕니다.
  • 몫(//): 나눈 결과의 정수 부분만 반환합니다.
  • 나머지(%): 나눈 후 남은 값을 반환합니다.
  • 거듭제곱(``)**: 첫 번째 수를 두 번째 수 만큼 거듭 제곱합니다.

예시:

a = 10
b = 3

print(a + b)  # 출력: 13
print(a - b)  # 출력: 7
print(a * b)  # 출력: 30
print(a / b)  # 출력: 약 3.3333...
print(a // b) # 출력: 3
print(a % b)  # 출력: 1
print(a ** b) # 출력: 1000 (10^3)

3.2 비교 연산자

비교 연산자는 두 값 간의 관계를 평가하여 불린 값(True 또는 False)을 반환합니다. 주요 비교 연산자는 다음과 같습니다:

  • ==: 같다 (Equal)
  • !=: 같지 않다 (Not Equal)
  • <: 작다 (Less Than)
  • > : 크다 (Greater Than)
  • <=: 작거나 같다 (Less Than or Equal To)
  • >=: 크거나 같다 (Greater Than or Equal To)

예시:

x = 5
y = 8

print(x == y)   # 출력: False
print(x != y)   # 출력: True
print(x < y)    # 출력: True
print(x > y)    # 출력: False

3.3 논리 연산자

논리 연산자는 여러 조건식을 결합하거나 반전시키는 데 사용됩니다. 주요 논리 연산자는 다음과 같습니다:

  • and: 둘 다 참일 때만 참입니다.
  • or : 하나라도 참이면 참입니다.
  • not: 조건식의 진위를 반전시킵니다.

예시:

a = True
b = False

# and 예제
result_and = a and b     # 결과는 False

# or 예제
result_or = a or b       # 결과는 True

# not 예제
result_not = not a       # 결과는 False

print(result_and, result_or, result_not)

3.4 비트 연산자

비트 연산자는 정수형 데이터의 비트 단위 작업을 수행합니다. 주요 비트 연산자는 다음과 같습니다:

  • &: AND 비트 연산
  • |: OR 비트 연산
  • ^: XOR 비트 연산
  • ~: NOT 비트 연산
  • <<: 왼쪽 시프트
  • >>: 오른쪽 시프트

예시:

a = int('0010', 2)   # 이진수 '0010' -> 십진수로 변환하면 '2'
b = int('0001', 2)   # 이진수 '0001' -> 십진수로 변환하면 '1'

bit_and_result = a & b      # bitwise AND => 결과는 '0000'(0)
bit_or_result = a | b       # bitwise OR => 결과는 '0011'(3)
shift_left_result = a << 1  # 왼쪽 시프트 => 결과 ('0100') ==>(4)

print(bit_and_result, bit_or_result, shift_left_result)

4. 실전 예제: 변수와 연산자의 조합

4.1 간단한 계산기 프로그램

변수와 연산자를 조합하여 간단한 계산기 프로그램을 작성해 보겠습니다:

# 간단한 계산기 프로그램
def calculator():
    print("간단한 계산기 프로그램입니다.")
    num1 = float(input("첫 번째 숫자를 입력하세요: "))
    operator = input("연산자를 입력하세요 (+, -, *, /): ")
    num2 = float(input("두 번째 숫자를 입력하세요: "))

    if operator == '+':
        result = num1 + num2
    elif operator == '-':
        result = num1 - num2
    elif operator == '*':
        result = num1 * num2
    elif operator == '/':
        result = num1 / num2
    else:
        print("잘못된 연산자입니다.")
        return

    print(f"결과: {result}")

# 프로그램 실행
calculator()

이 프로그램은 사용자로부터 두 숫자와 연산자를 입력받아 간단한 사칙연산을 수행하고 결과를 출력합니다.

4.2 리스트와 연산자

리스트는 여러 값을 저장할 수 있는 자료형입니다. 리스트와 연산자를 조합하여 다양한 작업을 수행할 수 있습니다:

# 리스트 생성
fruits = ["apple", "banana", "cherry"]

# 리스트에 요소 추가
fruits.append("orange")

# 리스트 연결
more_fruits = ["grape", "pineapple"]
all_fruits = fruits + more_fruits

# 리스트 출력
print(all_fruits)  # 출력: ['apple', 'banana', 'cherry', 'orange', 'grape', 'pineapple']

4.3 딕셔너리와 연산자

딕셔너리는 키-값 쌍을 저장하는 자료형입니다. 딕셔너리와 연산자를 조합하여 데이터를 관리할 수 있습니다:

# 딕셔너리 생성
person = {
    "name": "Alice",
    "age": 25,
    "is_student": True
}

# 딕셔너리 값 접근
print(person["name"])  # 출력: Alice

# 딕셔너리 값 변경
person["age"] = 26

# 딕셔너리 값 추가
person["city"] = "New York"

# 딕셔너리 출력
print(person)  # 출력: {'name': 'Alice', 'age': 26, 'is_student': True, 'city': 'New York'}

4.4 튜플과 연산자

튜플은 리스트와 유사하지만 불변(immutable)한 자료형입니다. 튜플과 연산자를 조합하여 다양한 작업을 수행할 수 있습니다:

# 튜플 생성
coordinates = (10, 20)

# 튜플 연결
new_coordinates = coordinates + (30, 40)

# 튜플 출력
print(new_coordinates)  # 출력: (10, 20, 30, 40)

5. 결론

변수, 자료형, 그리고 연산자는 파이썬 프로그래밍의 가장 기본적인 요소입니다. 이 개념들을 잘 이해하면 더 복잡한 프로그램을 작성하는 데 큰 도움이 됩니다. 실제 코드를 작성하면서 다양한 데이터 유형과 연산자를 활용해 보세요. 이제 여러분은 파이썬으로 간단한 프로그램을 작성할 준비가 되었습니다!

728x90