본문 바로가기
Python/Python 초급

Python 파이썬 Integer, int(), 숫자형 데이터 타입

by 베타코드 2021. 11. 17.
반응형

안녕하세요 독학코딩입니다. 오늘은 파이썬의 연산자 중 숫자형 타입의 연산자를 배워보겠습니다. 숫자형 연산자에는 +, -, *, % 같은 말 그대로 연산에 사용되는 연산자들이 있습니다. 앞으로 3개의 포스팅 동안 우린 데이터 타입별로 사용 가능한 연산자에 대해서 배워볼 것입니다. 

 

연산자에 대해 말하기 이전에 데이터 타입에 대해서 간단하게만 말씀드리겠습니다. 

Nonetype = 타입이 없는 자료입니다.
bool = 참, 거짓을 의미합니다. ex) true, false
int = 숫자형을 의미합니다. ex) 1, 2, 3
float = 소수점이 있는 숫자를 의미합니다. ex) 2.334, 5.125
str = 텍스트를 의미합니다. ex) "안녕", "사과"
list = 리스트라고 합니다. []로 표현됩니다. 
	ex) ["안녕", "사과"], [1, 2, 3, 4], [2.33, 4.21, 5.32]
tuple = 튜플이라고 합니다. ()로 표현됩니다. 한번 구성하면 구성원을 변경할 수 없습니다. 
	ex) ("안녕", "사과"), (1, 2, 3, 4), (2.33, 4.21, 5.32)
dict = 딕트, 딕셔너리라고 합니다. {}로 표현됩니다. key와 value로 구성 되어있어 원하는 자료를 찾기 편합니다. 
	ex) {"이름"="홍길동", "나이"="43", "도시"="서울"} 
    	여기서 이름, 나이, 도시를 key, 홍길동, 43, 서울은 value 입니다.

 

 

여기서 숫자형 데이터 타입이라는 것은 int와 float을 의미합니다. 정수와 실수라고 하지만 개인적으로 영어가 더 편해서 int(인트), float(플롯)으로 표현하겠습니다. 이 둘 이외에 소수, 복소수 등 숫자형 데이터 타입은 많지만 그런 걸 쓰실 땐 이미 파이선 고수이실 테니 넘어가겠습니다.

 

 


Python 숫자형 연산자의 종류

연산자의 종류를 보여드리고 그 이후로는 예제를 보여드리겠습니다. 예제를 직접 파이참에서 작성해보시면서 실행해보고 결과를 확인해보시는 걸 추천드립니다. main.py에 이미 작성된 코드를 모두 삭제하고 하시면 됩니다.

a+b a 더하기 b
a-b a 빼기 b
a/b a 나누기 b
a//b a 나누기 b의 몫 구하기
a%b a 나누기 b의 나머지 구하기
a*b a 곱하기 b
a**b a의 b제곱 구하기

 

Python 숫자형 연산자 + 더하기

복붙 하셔도 좋고 직접 작성하셔도 좋습니다. 만약 복붙 하실 거라면 >>> 줄은 결과를 임의로 작성한 것이니 그건 복사하시면 안 됩니다.

int_A = 5
int_B = 2
print(int_A+int_B)
>>> 7

str_A = "안녕"
str_B = "하세요"
print(str_A+str_B)
>>> "안녕하세요"

float_A = 2.5
float_B = 3.2
print(float_A+float_B)
>>> 5.7

list_A = ["안녕", "독학코딩"]
list_B = ["파이썬", "재밌다"]
print(list_A+list_B)
>>> ['안녕', '독학코딩', '파이썬', '재밌다']

tuple_A = ("안녕", "독학코딩")
tuple_B = ("파이썬", "재밌다")
print(tuple_A+tuple_B)
>>> ('안녕', '독학코딩', '파이썬', '재밌다')

dict_A = {"key_A":"안녕", "key_B": "독학코딩"}
dict_B = {"key_C":"안녕", "key_D": "독학코딩"}
print(dict_A+dict_B)
>>> TypeError: unsupported operand type(s) for +: 'dict' and 'dict'
>>> 딕트와 딕트의 더하기는 지원되지 않는다라는 의미입니다.

빨간 글씨로 뭐가 나왔죠? 깜짝 놀라셨나요? 코딩을 하다 보면 항상 보게 될 오류문입니다.

더보기
더보기
더보기
오류를 너무 무서워 하지 않으셨으면 좋겠습니다. 보통 오류가 나면 왜 오류가 났는지, 어디서 오류가 났는지 설명을 해줍니다. 코딩은 매일매일 오류를 찾고 해결해 나가는 과정이니 즐기셨으면 좋겠습니다. 약간 퀘스트 같은 느낌으로..?

 

Traceback (most recent call last):
  File "C:\Users\사용자이름\PycharmProjects\pythonProject1\main.py", line 23, in <module>
    print(dict_A-dict_B)
TypeError: unsupported operand type(s) for +: 'dict' and 'dict'

아마 위처럼 나왔을 겁니다. 자세히 보시면 TypeError라고 자료형 오류라는 말과 함께 자세한 오류의 내용을 설명하고 있습니다. 또 가장 중요하게 line23이라고 23번째 줄에서 오류가 났다고 설명해줍니다. in <module> print(dict_A+dict_B)라고 정확히 어떤 곳인지도 설명해줍니다. 

 

이렇게 오류가 나시면 이 포스트를 다시 찾으셔도 되고, 가장 좋은 건 오류 내용을(TypeError: 부분) 복사하여 인터넷에 검색해보시는 걸 추천해드립니다.

 

 

Python 숫자형 연산자 - 빼기

이미 위에서 코드를 작성해주셨다면 쉽게 +를 -로 바꾸는 방법이 있습니다. Ctrl+F를 누르시고 +를 찾으신 후에 아래 사진에 표시된 체크박스를 누르시면 코드 내에 모든 +가 선택될 것입니다. 지우고 -를 입력해주시면 됩니다.

한번에 찾은 텍스트을 바꾸는 방법

int_A = 5
int_B = 2
print(int_A-int_B)
>>> 3

str_A = "안녕"
str_B = "하세요"
print(str_A-str_B)
>>> TypeError: unsupported operand type(s) for -: 'str' and 'str'

float_A = 2.5
float_B = 3.2
print(float_A-float_B)
>>> -0.7000000000000002

list_A = ["안녕", "독학코딩"]
list_B = ["파이썬", "재밌다"]
print(list_A-list_B)
>>> TypeError: unsupported operand type(s) for -: 'list' and 'list'

tuple_A = ("안녕", "독학코딩")
tuple_B = ("파이썬", "재밌다")
print(tuple_A-tuple_B)
>>> TypeError: unsupported operand type(s) for -: 'tuple' and 'tuple'

dict_A = {"key_A":"안녕", "key_B": "독학코딩"}
dict_B = {"key_C":"안녕", "key_D": "독학코딩"}
print(dict_A-dict_B)
>>> TypeError: unsupported operand type(s) for -: 'dict' and 'dict'

실행해보셨으면 아시겠지만 str, list, tuple, dict는 - 연산자를 사용할 수 없습니다. 근데 실행하면 3까지만 나오고 바로 오류가 나오죠? 그럴 땐 오류가 난 코드를 삭제해도 괜찮지만 Ctrl+/를 누르시면 해당 줄을 주석 처리할 수 있습니다.

 

주석 처리는 실행에서 제외시키는 겁니다. 주석 처리는 하면 해당 줄 앞에 # 붙으면서 회색으로 변할 겁니다. 오류가 나면 해당 줄을 주석 처리하고 다시 실행해보시면 좋겠습니다. 주석을 풀고 싶다면 해당 줄에서 다시 Ctrl+/를 눌러주시면 됩니다.

 

Python 숫자형 연산자 / 나누기

앞으론  str, list, tuple, dict는 모두 연산자 사용이 불가능하니 제외하고 예제를 보여드리겠습니다.

int_A = 5
int_B = 2
print(int_A/int_B)
>>> 2.5

float_A = 2.5
float_B = 3.2
print(float_A/float_B)
>>> 0.78125

 

Python 숫자형 연산자 // 몫 구하기

int_A = 5
int_B = 2
print(int_A//int_B)
>>> 2

float_A = 2.5
float_B = 3.2
print(float_A//float_B)
>>> 0.0

 

Python 숫자형 연산자 % 나머지 구하기

int_A = 5
int_B = 2
print(int_A%int_B)
>>> 1

float_A = 2.5
float_B = 3.2
print(float_A%float_B)
>>> 2.5

 

Python 숫자형 연산자 * 곱하기

int_A = 5
int_B = 2
print(int_A*int_B)
>>> 10

float_A = 2.5
float_B = 3.2
print(float_A*float_B)
>>> 8.0

 

Python 숫자형 연산자 ** 제곱

int_A = 5
int_B = 2
print(int_A**int_B)
>>> 25

float_A = 2.5
float_B = 3.2
print(float_A**float_B)
>>> 18.767569280959865

오늘 이렇게 파이썬의 숫자형 데이터 타입의 연산자에 대해서 배워보았습니다. 당연히 더 복잡한 연산도 가능합니다만 이는 math라는 모듈을 사용해야 되기 때문에 나중에 파이썬 모듈에 대한 포스트를 할 때 더 자세히 배우도록 하겠습니다. 다음 시간에는 오늘 많이 다루지 못했던 문자열, 리스트 데이터 타입에 대해서 차근차근 배워보도록 하겠습니다.

반응형

댓글