Skip to content

Latest commit

 

History

History
191 lines (167 loc) · 7.3 KB

python_variable.md

File metadata and controls

191 lines (167 loc) · 7.3 KB

파이썬 : 변수

파이썬의 변수에 대해 자세히 배워봅니다.

1. 변수란?

프로그래밍 언어에서 변수란 다음과 같은 특징을 갖습니다.

  • 프로그램에서 임시로 자료값을 저장할 수 있는 저장장소
  • 변수에 값을 저장 할 수 있고 이 값은 계속 바뀔 수 있다
  • 변수 선언을 통해 사용

변수는 메모리 상에 데이터가 저장되는 공간을 의미합니다. 이 공간에 이름을 정해두고 데이터값을 할당한 뒤, 우리가 필요할 때마다 변수를 호출하여 사용하게 됩니다.

변수는 변수명자료형으로 이루어져 있습니다.

변수명 이란 우리가 데이터를 저장한 장소에 붙힌 이름입니다. 이렇게 한번 지정된 변수명을 이용하여 변수에 저장된 자료값을 호출할 수 있게 됩니다.

자료형 이란 자료값의 형태를 의미합니다. 대표적으로 숫자형, 문자열, 부울형 등이 있습니다. 자세한 자료형에 대해서는 밑에서 배워봅니다.

2. 변수의 선언

일반적으로 프로그래밍 언어에서 변수의 선언은

자료형 변수명 = 데이터 이와 같은 형태입니다.

int size = 10
float length = 5.8

하지만 파이썬에서는 인터프리터가 자동으로 데이터를 보고 자료형을 판단해줍니다. 따라서 파이썬에서 변수의 선언은 다음과 같습니다.

변수명 = 데이터

size = 10
length =5.8

3. 자료형

3.1 숫자(Number)형

숫자(Number)형 자료는 데이터의 형태가 우리가 알고 있는 정수, 실수 등을 띄는 자료입니다.

3.1.1 정수형 자료

a = 10  
size = 2

3.1.2 실수형 자료

b = 2.8
length = 5.8

출력

print(size)       # 2
print(length)     # 5.8

3.2 문자(String)형

문자(String)형 자료는 데이터가 하나의 문자(Character) 혹은 여러 문자의 문자열(String)로 구성된 자료입니다.
문자형 자료을 선언할 때에는 총 4가지 방식이 있습니다.

3.2.1 작은따옴표 (') 혹은 큰따옴표(")

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

3.2.2 작은따옴표 3개(''') 혹은 큰따옴표 3개(""")

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

3.3 부울(Bool)형

부울(Bool)형 자료참(True)거짓(False)를 구분할 때 사용합니다.

a = True
b = False
c = ( 9 == 15 )

==는 관계 연산자로 두 피연사자의 값이 동일한지 검사해 동일하면 True를, 그렇지 않으면 False를 반환합니다.

출력

print(a)       # True
print(b)       # False
print(c)       # False

3.4 리스트(List)형

리스트(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 미만인 자료들을 뽑아 올 수도 있습니다. 이를 슬라이싱이라 합니다. 또한 리스트 값을 수정할 수 도 있습니다.

3.5 튜플(Tuple)형

튜플(Tuple)형 자료리스트형 자료와 그 역할이 거의 동일하고 ()를 사용하여 자료를 묶어냅니다. 한 가지 다른 점이라면 리스트형 자료는 변수의 선언 후 수정이 가능하지만 튜플형 자료는 한번 선언하고 난 뒤에 수정이 불가능합니다.

tup = (1, 2, 3, 4)

출력

print(tup)        # ( 1, 2, 3 )
tup[2]            # 3

잘못된 코드

tup[0] = 20         # 튜플형 자료는 선언 후 수정이 불가능합니다.

3.6 집합(Set)형

집합(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 }

3.7 딕셔너리(Dictionary)형

딕셔너리(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

딕셔너리형 자료는 각 자료들의 구분을 로 하기때문에 를 이용해 인덱싱을 합니다. []안에 원하는 를 넣으면 그 키에 해당하는 이 나옵니다.

4 리스트, 튜플, 셋, 딕셔너리 비교

리스트와 튜플, 셋, 딕셔너리는 서로 비슷하면서도 다릅니다. 이를 아래의 표를 보며 비교해봅니다.

순서 중복 수정
리스트 O O O
튜플 O O X
X X O
딕셔너리 X X O

이상으로 파이썬의 변수에 대해 알아보았습니다. 감사합니다.