파이썬의 변수
에 대해 자세히 배워봅니다.
프로그래밍 언어에서 변수
란 다음과 같은 특징을 갖습니다.
- 프로그램에서 임시로 자료값을 저장할 수 있는 저장장소
- 변수에 값을 저장 할 수 있고 이 값은 계속 바뀔 수 있다
- 변수 선언을 통해 사용
변수
는 메모리 상에 데이터가 저장되는 공간을 의미합니다. 이 공간에 이름을 정해두고 데이터값을 할당한 뒤, 우리가 필요할 때마다 변수를 호출하여 사용하게 됩니다.
변수는 변수명
과 자료형
으로 이루어져 있습니다.
변수명
이란 우리가 데이터를 저장한 장소에 붙힌 이름입니다. 이렇게 한번 지정된 변수명을 이용하여 변수에 저장된 자료값을 호출할 수 있게 됩니다.
자료형
이란 자료값의 형태를 의미합니다. 대표적으로 숫자형, 문자열, 부울형 등이 있습니다. 자세한 자료형에 대해서는 밑에서 배워봅니다.
일반적으로 프로그래밍 언어에서 변수의 선언은
자료형
변수명
= 데이터
이와 같은 형태입니다.
int size = 10
float length = 5.8
하지만 파이썬에서는 인터프리터가 자동으로 데이터를 보고 자료형
을 판단해줍니다. 따라서 파이썬에서 변수의 선언은 다음과 같습니다.
변수명
= 데이터
size = 10
length =5.8
숫자(Number)형 자료
는 데이터의 형태가 우리가 알고 있는 정수, 실수 등을 띄는 자료입니다.
a = 10
size = 2
b = 2.8
length = 5.8
출력
print(size) # 2
print(length) # 5.8
문자(String)형 자료
는 데이터가 하나의 문자(Character) 혹은 여러 문자의 문자열(String)로 구성된 자료입니다.
문자형 자료
을 선언할 때에는 총 4가지 방식이 있습니다.
a = 'k'
B = "hello"
c = 'world'
보기와 같이 문자형에는 문자의 갯수와 상관없이 모두 작은따옴표로 감싸주면 문자형으로 인식합니다.
큰따옴표도 작은따옴표와 마찬가지로 사용하면 됩니다. 단, 두 방식을 혼동해서 사용해서는 안 됩니다.
잘못된 코드
str3 = 'it is wrong code"
str4 = "this is also wrong'
출력
print(B) # hello
print(a) # k
print(c) # world
str1 = '''hello'''
str2 = """smile"""
str3 = '''this is
different from
3.1.1 and 3.1.2'''
str3 = """have
a
good night"""
기본적인 사용법은 같지만 차이점은 바로 줄바꿈을 허용한다는 것입니다.
출력
print(str1)
print(str4)
hello
have
a
good night
부울(Bool)형 자료
는 참(True)
과 거짓(False)
를 구분할 때 사용합니다.
a = True
b = False
c = ( 9 == 15 )
==
는 관계 연산자로 두 피연사자의 값이 동일한지 검사해 동일하면 True
를, 그렇지 않으면 False
를 반환합니다.
출력
print(a) # True
print(b) # False
print(c) # False
리스트(List)형 자료
는 여러 자료들의 묶음입니다. 따라서 하나의 리스트 변수안에는 여러가지의 자료들이 저장될 수 있습니다. 리스트형 자료
는 []
을 이용해 여러 자료들을 하나로 묶어서 나타냅니다. 그리고 앞에서 부터 순서대로 저장된 공간에 0번부터 번호(인덱스, Index)를 부여해서 자료들을 순서대로 구분합니다. 타프로그래밍 언어의 배열
과 비슷한 역할을 수행합니다.
a = [ 1, 2 ]
b = [ 'a', 'hello', 10.2, True ]
위와 같이 b
에는 서로 다른 자료형의 데이터들이 저장될 수 있습니다.
출력
print(a) # [ 1, 2 ]
print(b[3]) # True
print(b[0:2]) # [ 'a', 'hello' ]
a[0] = 'change'
print(a) # [ 'change', 2 ]
원하는 자료의 인덱스값을 변수명 뒤에 [index]
를 사용해서 해당 자료만 가져와서 사용할 수 있습니다. 이를 인덱싱
이라 합니다.
혹은 [ x : y ]
를 이용해 인덱스값이 x 이상 y 미만인 자료들을 뽑아 올 수도 있습니다. 이를 슬라이싱
이라 합니다.
또한 리스트 값을 수정할 수 도 있습니다.
튜플(Tuple)형 자료
는 리스트형 자료
와 그 역할이 거의 동일하고 ()
를 사용하여 자료를 묶어냅니다. 한 가지 다른 점이라면 리스트형 자료
는 변수의 선언 후 수정이 가능하지만 튜플형 자료
는 한번 선언하고 난 뒤에 수정이 불가능합니다.
tup = (1, 2, 3, 4)
출력
print(tup) # ( 1, 2, 3 )
tup[2] # 3
잘못된 코드
tup[0] = 20 # 튜플형 자료는 선언 후 수정이 불가능합니다.
집합(Set)형 자료
는 수학에서의 집합과 유사한 자료형입니다. 자료들에 순서가 없고, 중복을 허용하지 않는 다는 특징을 가지고 있습니다. 집합형 자료
의 선언에는 {}
가 사용됩니다.
A = { 1, 2, 3 }
B = { 2, 3, 4 }
출력
print(A | B) # A와 B의 합집합, { 1, 2, 3, 4 }
print(A & B) # A와 B의 교집합, { 2, 3 }
딕셔너리(Dictionary)형 자료
는 다른 자료형과는 조금 다른 특징을 지닙니다. 리스트와 튜플은 자료를 구분함에 있어 인덱스
값을 이용했지만 딕셔너리형 자료
는 키(Key)
와 각 키에 대응되는 값(Value)
로 자료들을 구분짓습니다. 키
는 중복을 허용하지 않습니다. 집합형 자료와 마찬가지로 {}
을 이용해서 자료를 묶어내지만 각 자료는 키:값
의 형태를 띕니다.
dic1 = { 1:20, 2:30, 3: 40 }
dic2 = { 'name':'LJG', 'age':23 }
출력
print(dic1) # { 1:20, 2:30, 3: 40 }
print(dic1[1] + dic[2] ) # 50
print(dic2['name']) # LJG
딕셔너리형 자료
는 각 자료들의 구분을 키
로 하기때문에 키
를 이용해 인덱싱을 합니다. []
안에 원하는 키
를 넣으면 그 키에 해당하는 값
이 나옵니다.
리스트와 튜플, 셋, 딕셔너리는 서로 비슷하면서도 다릅니다. 이를 아래의 표를 보며 비교해봅니다.
순서 | 중복 | 수정 | |
---|---|---|---|
리스트 | O | O | O |
튜플 | O | O | X |
셋 | X | X | O |
딕셔너리 | X | X | O |
이상으로 파이썬의 변수
에 대해 알아보았습니다. 감사합니다.