본문 바로가기

자기계발/IT

[파이썬] '혼자 공부하는 파이썬' 독학 - Chapter 2 자료형 (3)

반응형

 

02-2 숫자

 

정수(integer / int)형: 소수점이 없는 숫자 ex) 0, 1, 273, -52

실수(floating point, 부동 소수점 / float)형: 소수점이 있는 숫자 ex) 0.0, 52.273, -1.2

 

52.273을 0.52273 x 102 와 같이 소수점의 위치를 바꿔도 결국 같은 숫자이므로, '소수점이 움직이는 숫자'라는 의미로 '부동 소수점'.

'소수점이 동동 부유하며 움직인다'로 이해하면 쉽다.

 

숫자의 종류

 

'소수점이 있는 숫자'와 '소수점이 없는 숫자'를 type( ) 함수로 출력해보면 아래와 같다.

>>> print(type(52))
<class 'int'>
>>> print(type(52.273))
<class 'float'>
>>> print(0)
0
>>> print(type(0))
<class 'int'>
>>> print(0.0)
0.0
>>> print(type(0.0))
<class 'float'>

 

일반적으로 프로그래밍 언어에서 두 자료형을 구분해서 사용.

파이썬에서는 대부분의 경우, 구분할 필요 없으나, 문자열 선택 연산자([ ]) 등을 사용할 때, 괄호 안에서 넣는 숫자가 아니라 부동 소수점이면 오류가 발생.

 

파이썬에서의 지수표현

>>> 0.52273e2
52.273
>>> 0.52273e-2
0.0052273

 

숫자 연산자

 

사칙 연산자: +, -, *, /

연산자 설명 구문
+ 덧셈 연산자 숫자 + 숫자
- 뺄셈 연산자 숫자 - 숫자
* 곱셈 연산자 숫자 * 숫자
/ 나눗셈 연산자 숫자 / 숫자
>>> print("5 + 7 =", 5 + 7)
5 + 7 = 12
>>> print("5 - 7 =", 5 - 7)
5 - 7 = -2
>>> print("5 * 7 =", 5 * 7)
5 * 7 = 35
>>> print("5 / 7 =", 5 / 7)
5 / 7 = 0.7142857142857143

 

정수 나누기 연산자: //

 

숫자를 나누고 소수점 이하의 자릿수를 떼어 버린 후, 정수 부분만 남김.

>>> print("3 / 2 =" 3 / 2)
3 / 2 = 1.5
>>> print("3 // 2 =" 3 // 2)
3 // 2 = 1

 

나머지 연산자: %

 

A를 B로 나누었을 때, 남은 나머지를 구하는 연산자. 5를 2로 나누면 몫이 2이고 나머지가 1.

>>> print("5 % 2 =", 5 % 2)
5 % 2 = 1

 

제곱 연산자: **

 

숫자를 제곱하는 연산자.

>>> print("2 ** 1 =", 2 ** 1)
2 ** 1 = 2
>>> print("2 ** 2 =", 2 ** 2)
2 ** 2 = 4
>>> print("2 ** 3 =", 2 ** 3)
2 ** 3 = 8
>>> print("2 ** 4 =", 2 ** 4)
2 ** 4 = 16

 

연산자의 우선순위

 

파이썬에서도 곱셈과 나눗셈이 덧셈과 뺄셈보다 우선함.

곱셈/나눗셈, 덧셈/뺄셈처럼 같은 우선순위를 가지는 연산자는 왼쪽에서 오른쪽 순서로 계산.

>>> print(2 + 2 - 2 * 2 / 2 * 2)
0.0
>>> print(2 - 2 + 2 / 2 * 2 + 2)
4.0

연산자의 우선순위가 헷갈린다면 괄호를 사용해 감싸주는 것이 좋다.

 

TypeError 예외

 

서로 다른 자료를 연산하면 TypeError라는 예외가 발생.

변수를 사용하면 내부에 무슨 자료가 들어있는지 바로 확인할 수 없으므로, TypeError를 발생시킬 수 있다.

 

 

관련 다음 포스팅

[파이썬] '혼자 공부하는 파이썬' 독학 - Chapter 2 자료형 (4)

반응형