본문 바로가기

dev/python

[python] 자료형 - 변수

시작을 JS로 해서 그런지 변수를 선언할 때 항상 자료형도 지정했었는데

파이썬은 너무 개쩔기 때문에 자료형을 지정하지 않아도 오류가 일어나지 않는다

(하지만 자료형을 지정하지 않기 때문에 인간이 오류가 일어나는 경우가 많다)

 

그렇다면 파이썬엔 자료형이 없는가?

NOOOOOOOOPE!!

 

엄연히 존재한다

 

숫자형 문자형 불리언처럼 자료의 타입을 나타내는 것과

변수, 리스트, 튜플, 딕셔너리, 집합처럼 자료를 담는 구조에 관한 것들이 있다


변수

 

파이썬에서의 등호(=)는 등호 오른쪽의 값을 등호 왼쪽에 대입한다는 뜻의 대입연산자다

컴퓨터는 명령어를 처리하고 나면 결과를 따로 저장하지 않기 때문에
우리는 항상 변수에 값을 집어넣는 습관을 들여야 한다

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#1
a=1
a=a+1
print(a)
 
#결과값 : 2
 
 
#2
a=a+1
a=1
print(a)
 
# 결과값 : NameError: name 'a' is not defined
cs

 

이상하게도 #1과 #2의 차이는 a=1을 먼저 쓰냐 나중에 쓰냐의 차이다

파이썬은 코드를 한줄 한줄 실행하는 언어이기 때문에

 

#1
a에 1을 대입함
a에 다시 a+1을 대입함
a를 프린트

 

이 3가지 과정이 이루어지는데 무리가 없지만

 

#2는

a에 a+1을 먼저 대입할 때 미리 선언된 변수 a의 값을 알 수 없으므로

a의 값이 정의되지 않았다는 오류가 뜬 것이다