파이썬 변수 개념 및 사용법

**변수**는 데이터를 저장하기 위해 사용하는 이름을 가진 메모리 공간입니다. 파이썬에서는 변수에 값을 할당하면 자동으로 해당 값을 저장하고, 데이터의 타입을 추론하여 관리합니다.


변수의 특징

  1. 동적 타이핑(Dynamic Typing)
  2. 변수의 데이터 타입을 명시적으로 선언하지 않아도 됩니다.

    x = 10       # 정수형(int)
    y = 3.14     # 실수형(float)
    name = "Alice"  # 문자열(str)
    

  3. 타입 변경 가능

  4. 변수에 다른 타입의 값을 자유롭게 재할당할 수 있습니다.

    x = 10       # 정수형
    x = "Hello"  # 문자열
    

  5. 강력한 타입(Type Checking)

  6. 타입 간의 불일치는 오류를 발생시킵니다.

    x = 10
    y = "20"
    print(x + y)  # TypeError: 정수와 문자열은 더할 수 없음
    

  7. 파이썬 변수는 참조값을 저장

  8. 변수는 데이터 값을 직접 저장하지 않고, 메모리의 주소를 참조합니다.

변수 이름 규칙

  1. 문자, 숫자, 밑줄(_)만 사용 가능
  2. 변수 이름은 반드시 문자 또는 밑줄로 시작해야 함.

    valid_variable = 10
    _another_variable = 20
    

  3. 대소문자 구분

  4. variableVariable은 서로 다른 변수.

    name = "Alice"
    Name = "Bob"
    print(name)  # Alice
    print(Name)  # Bob
    

  5. 예약어 사용 금지

  6. 파이썬의 예약어는 변수 이름으로 사용할 수 없음.
    (예: if, else, while, for, True, False, None 등)

    if = 10  # SyntaxError
    

  7. 의미 있는 이름 사용 권장

  8. 변수 이름은 변수의 목적을 나타내는 의미 있는 이름으로 작성.
    total_price = 1000
    

변수의 할당 및 동작

  1. 값 할당
  2. = 연산자를 사용하여 값을 변수에 할당.

    age = 25
    pi = 3.14
    

  3. 여러 변수에 동시에 할당

  4. 동일한 값을 여러 변수에 동시에 할당.

    a = b = c = 10
    print(a, b, c)  # 10 10 10
    

  5. 여러 값 동시 할당 (언패킹)

  6. 여러 변수를 한 번에 초기화.
    x, y, z = 1, 2, 3
    print(x, y, z)  # 1 2 3
    

변수의 스코프(Scope)

  1. 지역 변수(Local Variable)
  2. 함수 내부에서 정의된 변수는 해당 함수 내에서만 사용 가능.

    def my_function():
        x = 10
        print(x)  # 10
    
    my_function()
    # print(x)  # NameError: x is not defined
    

  3. 전역 변수(Global Variable)

  4. 함수 밖에서 정의된 변수는 모든 함수에서 사용 가능.

    x = 10
    
    def my_function():
        print(x)  # 10
    
    my_function()
    print(x)  # 10
    

  5. global 키워드

  6. 함수 내에서 전역 변수 값을 수정하려면 global 키워드를 사용.

    x = 10
    
    def my_function():
        global x
        x = 20
    
    my_function()
    print(x)  # 20
    

  7. nonlocal 키워드

  8. 중첩 함수에서 상위 함수의 변수를 수정하려면 사용.
    def outer_function():
        x = 10
    
        def inner_function():
            nonlocal x
            x = 20
    
        inner_function()
        print(x)  # 20
    
    outer_function()
    

변수의 타입 확인 및 변환

  1. 타입 확인
  2. type() 함수로 변수의 데이터 타입 확인.

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

  3. 타입 변환

  4. int(), float(), str() 등을 사용해 타입 변환 가능.
    x = "100"
    y = int(x)  # 문자열을 정수로 변환
    print(y + 10)  # 110
    

변수의 활용 예

# 사용자 입력을 받아 두 숫자를 더하기
num1 = int(input("첫 번째 숫자 입력: "))
num2 = int(input("두 번째 숫자 입력: "))
result = num1 + num2
print("두 숫자의 합:", result)

변수는 파이썬 프로그램의 데이터를 관리하는 기본적인 도구이며, 적절히 사용하면 코드의 가독성과 유지보수성이 크게 향상됩니다.