변수(variable)를 만들고 출력해보자
업데이트:
이전글 : 파이썬 코딩, 주피터노트북으로 본격 시작(2)
자료가 담긴 공간의 주소명, ‘변수’
공부하기 vs 코딩하기
앞선 포스팅에서 파이썬 인터프리터와 IDE를 설치해봤으니, 이제 본격적인 코딩 작업에 들어가보도록 하자.
코딩은 프로그램을 만드는 작업이다. 컴퓨터 프로그램이 하는 일이란 결국 사용자가 직접 입력한 자료(data)나 외부 저장공간에서 읽어온 자료를 다양한 방법으로 처리하고, 새로운 결과물을 만들어 출력하는 과정이라 할 수 있다. 컴퓨터의 뇌에 해당하는 CPU를 통해 자료를 처리하려면 우선 작업장에 자료들을 배치해놓아야 한다. 공부에 비유하자면 책상 위에 책이나 노트를 올려놓는 것부터 시작해야 하는 것이다.
컴퓨터 구조에서 작업장에 해당하는 것이 바로 메모리(memory), 혹은 램(RAM)이라고 부르는 것이다. 메모리는 프로그램이 실행되는 동안 임시로 자료를 저장하는 공간이다. 하드디스크가 책을 오랜시간 저장해두는 책장이라면, 메모리는 필요한 책을 골라 공부를 하는 동안 펼쳐놓는 책상에 해당한다.
우리가 프로그램을 실행하거나 자료를 불러올 때 ‘로딩 중’이라는 말을 자주 보게 된다. 로드(load)는 원래 짐을 싣는다는 뜻인데, 컴퓨터 용어로는 어떤 자료를 메모리에 올려서 배치해놓는다는 의미가 된다.
변수에 값을 할당하고 출력하기
프로그램이 실행되는 동안 ‘로드’된 데이터들은 메모리 내에서 일정한 위치(주소)를 갖는다. 동일한 데이터를 반복해서 끄집어 내
사용하려면 해당 주소에 알기 쉬운 명칭을 붙여서 필요할 때마다 호출할 수 있어야 한다. 이를 변수의 할당(assignment)이라고 한다.
파이썬에서 변수를 할당하는 명령은 변수명 = 값
이다. 이전 포스팅에서 배운 주피터노트북을 실행하여 아래와 같이
입력한 후 실행해보자.
a = '삼성전자'
b = 150000
c = b + 20000
print(a,b,c)
[코드설명]
line 1 : a 라는 변수에 ‘삼성전자’라는 문자열을 할당한다.
line 2 : b 라는 변수에 15000 이라는 숫자를 할당한다. line 3 : 변수 b의 값에 20000이라는 숫자를 더한 후 c 라는 변수에 할당한다. line 3 : 변수 a와 b, c에 할당된 데이터를 연이어 출력한다.
삼성전자 150000 170000
위에서 사용한 print()
는 변수의 값을 출력해주는 명령어이다. print(변수명1, 변수명2, ...)
와 같이 여러 변수를
콤마(,)로 구분해 입력하면, 각 변수의 값들을 한칸씩 띄워서 출력해준다.
변수에 할당되는 값들은 문자열, 숫자와 같이 각자 고유한 형식을 가져야 한다. 이를 자료형(data type)이라고 한다. 숫자 자료형의 경우 숫자를 그대로 입력하면 된다. 문자열 자료형은 입력한 문자 주변에 작은따옴표(‘)나 큰따옴표(“)를 달아주어야 한다. 만약 따옴표를 붙이지 않는다면, 아래의 예시에서처럼 컴퓨터는 해당 문자를 변수명으로 인식해 오류가 날 수 있으므로 주의해야 한다.
d = 삼성전자
------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-2-33729649c162> in <module>
----> 1 d = 삼성전자
NameError: name '삼성전자' is not defined
파이썬의 자료형에 관해서는 다음 포스팅에서부터 자세하게 다뤄볼 예정이다. 자료형을 이해하고 잘 다루는 것이 파이썬 코딩의 기초 중의 기초라고 할 수 있다.
변수명을 정하는 규칙
파이썬에서 변수를 할당할 때 변수명을 정하는 규칙이 다음과 같이 존재한다.
- 영문자(대/소문자 구분), 한글, 숫자, 언더바(_)를 포함할 수 있다.
- 첫글자로 숫자가 올 수 없다.
- 띄어쓰기는 불가능하다. 띄어쓰는 대신 주로 언더바를 쓴다. (ex. sub_data)
- 파이썬에서 기본 문법으로 사용되는 다음과 같은 고정 키워드는 사용할 수 없다.
- False, None, True, and, as, assert, break, class, continue, def, del, elif, else, except, finally, for, from, global, if, import, in, is, lambda, nonlocal, not, or, pass, raise, return, try, while, with, yield
댓글남기기