Skip to content

Latest commit

 

History

History
138 lines (97 loc) · 3.65 KB

03. 변수.md

File metadata and controls

138 lines (97 loc) · 3.65 KB

변수

파이썬은 모든것(정수, 문자열, 함수 등)이 객체(Object)로 이루어져 있다.
객체는 데이터의 형태를 결정해주는 타입으로, 파이썬에서는 객체의 타입을 바꿀 수 없다.

프로그래머는 변수를 선언하고 사용하는 형태로 컴퓨터의 메모리에 값을 할당하고, 참조할 수 있다. 파이썬에서는 값을 할당할때 =기호를 사용한다.

일반적으로, 프로그래밍 언어에서 같다(Equal)의 의미는 =이 아닌 ==이 담당한다.


다음과 같은 코드는 var1이라는 이름을 가진 변수에 100의 정수를 할당하고, print를 이용해 var1변수가 가진 값을 출력한다.

>>> var1 = 100
>>> print(var1)
100

변수는 단지 이름일 뿐이며, 그 자체가 어떠한 값을 갖는것이 아니다.
위의 경우 var1이라는 변수는 100이란 데이터를 직접 가지는 것이 아니며, 100이라는 정수형 객체가 있고 a는 단순히 해당 객체를 참조하는 역할을 한다.

아래와 같이 명령어를 입력한다.

>>> var2 = var1
>>> var3 = var1
>>> var4 = var1

어떠한 변수가 참조하고 있는 객체가 메모리 상에서 가지고 있는 고유의 주소(id)를 출력하는 id내장함수를 사용해본다.

>>> id(var1)
4520513888
>>> id(var2)
4520513888
>>> id(var3)
4520513888
>>> id(var4)
4520513888

모든 변수들이 같은 객체를 가리키는 것을 볼 수 있다.

변수는 언제든 다른 객체를 가리킬 수 있다.

>>> var1 = 101
>>> id(var1)
4520513920

var1이 다른 객체를 참조하도록 변경했을 때, var2, var3, var4가 기존에 var1을 참조하던 것이 아닌, var1이 참조하던 객체를 참조했다는 것을 확인할 수 있다.

>>> id(var1)
4520513920
>>> id(var2)
4520513888
>>> id(var3)
4520513888
>>> id(var4)
4520513888

변수의 타입 확인

내장함수 type사용

>>> type(var1)
<class 'int'>

정수(Integer)형 변수임을 알 수 있다.

>>> type('안녕하세요')
<class 'str'>

문자열은 str(문자열)형임을 나타낸다.

위의 출력에서, 클래스(class)는 객체의 타입(정의)을 나타낸다.
classtype은 거의 같은 의미로 사용된다.

변수의 이름 제한

사용가능한 문자

  • 소문자
  • 대문자
  • 숫자
  • 언더스코어(_)

이름은 숫자로 시작할 수 없으며, 언더스코어로 시작하는 변수명은 특별한 처리방법을 따르므로 일반적으로 사용하지 않는다.

예약어

아래 예약어들은 파이썬 구문을 정의하는데 사용되기 때문에 변수로 사용할 수 없다.

False, class, finally, is, return,
None, continue, for, lambda, try,
True, def, from, nonlocal, while,
and, del, global, not, with,
as, elif, if, or, yield,
assert, else, import, pass,
break, except, in, raise

변수의 입력과 출력

입력은 내장함수 input 사용

>>> var = input()

입력받는 프롬프트를 띄우려고 할 경우, input에 문자열을 인자로 전달해준다.

>>> var = input('숫자를 입력해주세요 : ')

출력은 내장함수 print 사용

>>> print(var)

실습

  1. 1일이 몇 초인지 계산 후, 해당 결과를 seconds_per_day 변수에 할당하라.
  2. 1년이 몇 초인지 계산 후, 해당 결과를 seconds_per_year 변수에 할당하라.
  3. 각 변수의 타입을 확인해본다.
  4. 문자열을 입력해주세요 : 라는 안내문구를 띄워주도록 input함수를 사용해본다. 결과는 var에 할당한다.