Appia의 IT세상

파이썬[Python] 002 변수(Variable), 데이터타입(DataTypes) 본문

Python/Python 기본

파이썬[Python] 002 변수(Variable), 데이터타입(DataTypes)

Appia 2019. 12. 19. 20:34
반응형

오늘은 두번째 시간으로 변수(Variable)와 데이터타입(DataTypes) 타이에 대해서 살펴 보도록 하겠습니다.

 

변수(Variable)

 

아마도 이 글을 보시는 분들은 Python 뿐 아니라 다른 언어를 하시는 분들도 있으시기에 변수에 대해서 알수도 있습니다. 간단하게만 이야기를 드리고자 합니다. 변수는 흔히 말하는 변하는 수입니다. 즉, 가변할 수 있는 저장공간을 지칭하는 이름이라고 생각해도 될 것입니다. 간단히 예를 들어 보도록 하겠습니다. 제가 만약 현재 10개의 구슬을 상자 하나에 넣고자 합니다. 저는 나중에 이 상자가 구슬이 담긴 상자라고 알기 위해서 이 상자 위해서 구슬 상자라고 이름을 명시한 후 구슬 10개를 넣었습니다. 여기서 말하는 구슬상자가 바로 변수입니다. 현재는 구슬 10개를 빼서 여기에 구슬 2개를 더해서 총 12개를 상자에 넣을 수 있습니다. 즉 구슬 상자의 내용물들은 항상 변할 수 있습니다. 이게 변수라고 생각하시면 됩니다. 

 

변수 이름(Variable name) = 변수 값(Value)

 

물론 C언어에 익숙한 분들은 변수에 타입 선언을 안해주냐는 의문을 가질 수 있습니다. Python에서는 별도의 변수에 대한 선언을 하지 않습니다. 즉 변수에 값을 대입할 때, 변수값의 고려하여 자동으로 선언해줍니다. 

이 때 "=" 연산자는 부등호 표시가 아닌 대입을 의미하는 것입니다. 

 

bookprice = 10000
percentage = 90
print(bookprice,percentage)

 

위의 예를 예시를 실행하시면 다음과 같은 결과를 얻을 수 있습니다. 

 

10000 90

 

파이썬(Python)에서는 몇가지 다른 부분들을 지원하고 있습니다. 예를 들면 다중 할당이라고 하는 것이 맞는지는 잘 모르겠지만, 다음과 같은 변수 할당이 가능합니다. 

 

a = b = c = 0

 

0이라는 것을 c에 이를 b에 그리고 다시 a에 해당하는 소스 코드입니다. 하지만, 이 부분에 대해서 한가지 생각하셔야 할 부분이 있습니다. 즉 제가 특정 공간에 0를 넣고, 이를 c라고 명명하고 다시를 이를 b라 명명하고 다시 a라고 명명하였습니다. 

 

이는 결론적으로 같은 곳을 가리키는 것입니다. 이를 코드 상에서 다시 한번 살펴보면 다음과 같습니다. 

 

a = b = c = 0
print(id(a))
print(id(b))
print(id(c))
140715646883456
140715646883456
140715646883456

 

즉 모두가 같은 곳을 가리킨다는 것을 아실 수 있습니다. 

 

데이터타입(DataTypes)

 

파이썬(Python)에서는 기본적으로 크게 6가지 데이터타입(DataTypes)를 제공하고 있습니다.  그 항목들은 다음과 같습니다.

  • Numbers
  • String
  • List
  • Set
  • Tuple
  • Dictionary

Number

 

num = 0
num1 = 10

 

기본적으로 파이썬(Python)에서는 숫자에 대해서 다양한 연산 등을 제공하고 있습니다. 하지만 숫자 안에서 크게 3가지 형태로 나눌 수 있습니다. 

  • int : 정수 ( ex. 10 )
  • float : 실수 ( ex: 0.0 )
  • complex : 복소수 ( 1.14j ) 

String 

문자열에 대해서 다음과 같은 형태로 사용합니다. 

 

str = 'welcome to appia'

 

문자열 경우 대부분 Parsing에 많이 사용되고 있고, 관련해서 다음과 부분을 참조 하시길 바랍니다. 

Text p y t h o n !
정방향 0 1 2 3 4 5 6
역방향 -7 -6 -5 -4 -3 -2 -1

 

문자열 하나하나는 List 맴버와 같이 동작을 합니다. 따라서, 다음과 같이 볼 수 있습니다. 

 

print(str[0])
print(str[2:])
print(str[-2:])
print(str*2)
w
lcome to appia
ia
welcome to appiawelcome to appia

 

오늘은 간단한 예시만 보여드리고, 별도의 포스팅에서 다시 다룰 예정입니다. 

 

List

파이썬(Python)에서 가장 많이 다루어지는 타입은 아마도 List일 것입니다. 이 List는 예전 C언어에서의 배열과 유사합니다. 물론 차이점이라면 List의 경우에는 다른 형태의 타입들도 입력할 수 있지만, C언어의 배열은 모든 같은 데이터 타입이라는 것입니다. 일반적으로 List 는 다음과 같은 형태로 만들어 집니다. 

 

ListName = [memer1, member2 ..... memberN]

 

일단 간단히 한번 보면 다음과 같습니다. 

 

list = ['abcf',1,3.14,12]
print(list)
print(list[0])
print(list[2:])

['abcf',1,3.14,12]
abcf
[3.14, 12]

 

Tuple

List와 유사한 데이터 타입이나, 수정이 불가능한 타입입니다. 다음과 같이 만들어 집니다. 

 

TupleName = (memer1, member2 ..... memberN)

 

다음과 같은 예제를 한번 살펴 보겠습니다. 

 

tuple = ('abcf',1,3.14,12)
print(tuple)
print(tuple[0])
print(tuple[2:])

('abcf',1,3.14,12)
abcf
(3.14, 12)

 

Dictionary

흔히들 Dictionary를 Hash table의 한종류라고들 합니다. key - value의 한쌍으로 가값을 읽고, 이 부분을 활용하여 데이터를 저장할 수 있습니다. 그래서 매우 유용하지만, 잘 쓸려면 어떻게 사용하는 것인지에 대해서 매우 고심해야합니다. 

 

List와 유사한 데이터 타입이나, 수정이 불가능한 타입입니다. 다음과 같이 만들어 집니다.

 

DictionaryName = (Key1:Value1, Key2:Value2,....KeyN:ValueN)

 

다음과 같은 예제를 살펴보겠습니다. 

 

dict = {'name' : 'Appia', 'city' : 'Seoul', 'dept' : 'sales'}
print(dict)
print(dict.keys())
print(dict.values())

{'name' : 'Appia', 'city' : 'Seoul', 'dept' : 'sales'}
dict_keys(['name' , 'city' , 'dept' }
dict_values(['Appia' , 'Seoul' , 'sales' }

 

오늘은 변수와 데이터 타입에 대해서 살펴보았습니다. 각 데이터 타입에 대해서는 각 타입별로 조금 더 상세히 별도의 포스팅을 할 예정입니다. 간단히 정리하시는 데에 도움이 되시길 바랍니다. 혹, 궁금하신점이나 문의 하실 점이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 

 

 

 

 

반응형
Comments