[Python] 변수(variable)

2022. 6. 23. 01:04·Language/Python
728x90

변수(variable)

대부분의 프로그램은 데이터를 활용하여 다양한 동작을 수행하며, 이러한 데이터는 컴퓨터의 메모리 공간에 저장될 수 있다. 이때 데이터를 저장한 메모리 공간에 이름을 할당받아야만 나중에 다시 해당 데이터에 접근할 수 있다.

이것은 마치 제목(label)을 붙여 놓은 서류함(cabinet)과 비슷한 원리라고 생각하면 된다.

이처럼 프로그램에서 사용되는 데이터를 저장해 놓은 일종의 저장 공간을 변수(variable)라고 부른다. 즉, 변수란 데이터를 저장할 수 있도록 이름을 할당받은 메모리 공간을 의미하며, 이렇게 저장된 데이터는 언제든지 다시 접근하거나 그 값을 변경할 수 있다.


변수의 사용

다음은 애국가 1절 전반부를 세 번 출력하기 위해서 print() 함수를 세 번 사용하는 예제다.

# 예제
print("동해 물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라 만세")
print("동해 물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라 만세")
print("동해 물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라 만세")
실행결과
동해 물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라 만세
동해 물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라 만세
동해 물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라 만세

하지만 이와 같은 방법은 매우 비효율적이며 코드 또한 매우 복잡해진다.

이때 사용할 수 있는 것이 바로 변수다.

우선 변수를 선언하여 문자열을 저장한 다음 해당 변수를 사용하여 문자열을 출력하면 된다.

# 예제
korea = "동해 물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라 만세"
print(korea)
print(korea)
print(korea)
실행결과
동해 물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라 만세
동해 물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라 만세
동해 물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라 만세

위 예제의 2번 라인에서는 korea라는 이름의 변수를 선언하고, 대입 연산자(=)를 사용하여 해당 변수에 문자열을 저장하고 있다. 이렇게 선언된 변수는 해당 프로그램이 종료될 때까지 계속해서 재사용할 수 있다.

이처럼 변수를 사용하면 중복해서 작성해야 하는 코드가 많이 줄어들게 되므로, 코드의 가독성이 높아진다.

※ 파이썬에서 '같음'을 비교할 때는 등호가 두 개(==)인 비교연산자를 사용한다. 이때 실수로 값을 비교할 때 대입연산자(=)를 잘못 사용하지 않도록 주의할 필요가 있다.
 ‘\n’ 문자는 줄바꿈(new line)을 나타내는 이스케이프 문자(escape character)로 print() 함수는 이 문자를 만나면 줄을 바꾼 후에 계속해서 출력을 진행하게 된다.

변수의 재활용

선언된 변수는 해당 프로그램이 종료될 때까지 계속해서 사용할 수 있으며, 이때 변수에 저장된 데이터를 변경할 수도 있다.

다음 예제는 변수 korea에 저장된 값을 프로그램이 실행되는 도중 대입 연산자를 사용하여 다른 값으로 변경하는 예제다.

# 예제
korea = "동해 물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라 만세"
print(korea)
print(korea)
print(korea + "\n")
korea = 남산 위에 저 소나무 철갑을 두른 듯 바람 서리 불변함은 우리 기상일세"
print(korea)
print(korea)
print(korea)
실행 결과
동해 물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라 만세
동해 물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라 만세
동해 물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라 만세

남산 위에 저 소나무 철갑을 두른 듯 바람 서리 불변함은 우리 기상일세
남산 위에 저 소나무 철갑을 두른 듯 바람 서리 불변함은 우리 기상일세
남산 위에 저 소나무 철갑을 두른 듯 바람 서리 불변함은 우리 기상일세

위 예제의 6번 라인에서는 이미 선언된 변수 korea에 애국가 2절 문자열을 저장하고 있다. 따라서 변수 korea에는 앞서 저장되어 있던 애국가 1절의 문자열 대신에 애국가 2절의 문자열이 저장된다.

※ 이렇게 변수의 데이터를 변경하면 기존에 저장되어 있던 데이터는 완전히 사라지게 되니 주의해야 한다.

변수명 생성 규칙

만약 파이썬에서 변수명으로 if나 while 등을 사용할 수 있으면, 파이썬 인터프리터는 이것이 변수명인지 아니면 조건문이나 반복문을 나타내는 것인지 알 수 없게 된다. 따라서 파이썬 인터프리터는 SyntaxError라는 에러 메시지를 출력하고 프로그램을 강제로 종료시킨다. 이처럼 파이썬을 비롯한 모든 프로그래밍 언어에서는 변수의 이름을 짓는데 반드시 지켜야하는 공통된 규칙을 가지고 있다.

 

다음은 파이썬에서 변수명을 지을 때 지켜야하는 규칙들이다.

 

1. 변수명은 영문자(대소문자), 숫자, 언더스코어(_)로만 작성할 수 있다.

2. 변수명은 숫자로 시작할 수 없습니다. 즉, 반드시 영문자나 언더스코어(_)로 시작해야 한다.

3. 변수명은 대소문자를 구분한다.

4. 변수명에는 파이썬에서 미리 정의된 예약어(reserved words)는 사용할 수 없다.

 

파이썬에서 미리 정의된 예약어는 다음과 같다.

False await else import pass
None break except in raise
True class finally is  return
and continue for lambda try
as def from nonlocal while
assert del global not with
async elif if or yield
※ 파이썬에서 변수명은 해당 변수에 저장되는 데이터를 의미할 수 있는 단어를 사용하여 간단명료하게 구성하는 것이 좋으며, 같은 프로그램에서 선언된 변수들의 이름은 가급적 일관되게 작성하는 것이 좋다.

'Language > Python' 카테고리의 다른 글

[Python] 불리언 타입(boolean types)  (0) 2022.06.23
[Python] 숫자형 타입  (0) 2022.06.23
[Python] 파이썬의 기초  (0) 2022.06.22
[Python] 파이썬의 특징  (0) 2022.06.22
[Python] 파이썬 설치하기  (0) 2022.06.22
'Language/Python' 카테고리의 다른 글
  • [Python] 불리언 타입(boolean types)
  • [Python] 숫자형 타입
  • [Python] 파이썬의 기초
  • [Python] 파이썬의 특징
arajo
arajo
  • arajo
    아라 메모장
    arajo
  • 전체
    오늘
    어제
    • 분류 전체보기 (509)
      • Language (298)
        • HTML (55)
        • CSS (11)
        • JavaScript (70)
        • TypeScript (8)
        • Python (33)
        • Java (119)
        • C (0)
        • C# (2)
      • Programming (92)
        • Programming (14)
        • Web (51)
        • Apache (1)
        • MySQL (23)
        • AWS (3)
      • Framework | Library (26)
        • Framework | Library (3)
        • Vue.js (2)
        • React.js (5)
        • React Native (4)
        • Node.js (1)
        • Ajax (1)
        • Bootstrap (8)
        • Spring (1)
        • Flutter (1)
      • etc (2)
      • 휴식 (19)
        • 책 (13)
        • 일기 (5)
        • 게임 일기 (1)
      • A (71)
        • 공부 (18)
        • 기타 (6)
        • 일 (47)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    MySQL
    파이썬
    array
    web
    제어문
    TypeScript
    타입스크립트
    object
    리액트
    변수
    HTML
    자바스크립트
    event
    CSS
    Java
    react
    객체
    next.js
    Python
    JavaScript
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
arajo
[Python] 변수(variable)
상단으로

티스토리툴바