반응형

안녕하세요 봉자씨입니다.

파이썬에서 숫자를  많이 다룹니다. 

그래서 오늘은 많이 사용하는 그 숫자에 대해서 사용시에 알아야 할 것들을 한번 같이 정리해 보겠습니다.

 

1. 연산시에 알아 야 하는 것들

기본적인 +, -는 더하기와 빼기를 의미합니다.

그리고 * 는 곱하기를 /는 나는기를 의미하죠.

아래의 것들은 사용하다 보면 햇갈리는 연산자 입니다.

9 / 2  # 결과 4.5 (부동소수점 나누기)
9 //2  # 결과 4 (정수 나누기(소수점 이하 버림)를 의미)
9 %2 #
결과 1 (나머지를 구함)
9
** # 결과 81 (9의 2승을 의미)

파이썬 콘솔로 아래와 같이 확인을 해보세요.

 

2. 진수에 대해서 알아야 하는 것들

파이썬에 진수에 대해서 알야아 하는 것을 정리해 봅니다. 

파이썬에도 역시나 다른 언어와 같이 2진수 8진수 16진수가 존재합니다.

2진수는 0과 1로만 이루어진 수를, 

8진수는 0~7로만 이루어진 수를,

16진수는 0~9, A, B, C, D, E 로 이루어진 수죠.

그리고 이를 파이썬에서도 다른 언어와 같이 아래와 같이 표현을 하게 됩니다.

2진수를 표현 할땐 앞에 0b or OB 붙여 줍니다. # 0b101010 (2진수) # 42  
8진수를 표현 할땐 앞에 0o or OO  붙여 줍니다.# 0o52 (8진수)
16진수를 표현 할땐 앞에 0x or 0X 붙여 줍니다.# 0x2a (16진수)

그럼 이것도 역시 한번 파이썬 콘솔로 테스트 해보겠습니다.

아래의 테스트는 42가 맞냐고 비교를 해서 보여줬습니다. 그냥 입력을 하게 되면("0b101010") 42가 출력이 되니 그것도 해보세요.

3. 형변환에 대해서 알아야 하는 것들

파이썬에서의 숫자로 형 변환을 했을 경우에 대해서 알아 보겠습니다.

즉, 다른 형태의 데이터를 숫자로 변환 했을 때에 알아야 하는 것에 대해서 알아보겠습니다.

먼저 파이썬3를 기준으로 했을 경우 정수형(integer) 실수형(floating point number)이 존재합니다.

정수형과 실수형의 구분은 파이썬에서는 변수 선언시 타입을 별도로 선언하지 않기에 값에 소숫점이 없다면 정수형, 있다면 실수형입니다.

다른 형태의 데이터를 정수형으로 형변환 할때는 int()라는 것을 사용합니다.

그렇게 되면 아래와 같이 형이 변환이 됩니다.

int(True)   => 1  (Boolean형의 데이터를 정수로 형변환 했을 경우 True는 1 False는 0이 됩니다.)
int(9.8)     => 9 (실수형을 정수형으로 형변환 시키게 되면 소수점을 잃게 됩니다.)
int(1.0e4)  =>10000(지수 형식의 표현법도 정수형으로 형변환 할 수 있습니다.)
int(‘10’)     =>10(문자열을 정수형으로 형변환 가능합니다.)
int(‘9.8’)    =>error(
소수점 혹은 지수 포함 문자열 처리 불가합니다.)

추가적으로 아래의 형변환 형태는 기억해주세요

1.0+5       =>6.0(정수형과 실수형을 더하게 되면 결과는 실수형이 됩니다. 5가 실수형으로 형변환이 자동으로 이루어 집니다.)
False+6.0    =>6.0(False랑 6을 더하게 되면 False가 자동으로 실수 형변환이 이루어 지며, 0으로 바뀌어 더하면 6이 됩니다.)

콘솔에서 테스트 하면 아래와 같습니다.

4. long이 사라진 python3에서 int 크기는?(python3에서는 long은 없다!)

파이썬 2에서는 정수형 데이터 타입이 intlong 두 가지가 있었는데, Int크기는 32bit,  long 64bit 데이터형입니다.

int 타입 변수의 값이 표현 범위를 넘어서게 되면 자동으로 long으로 타입으로 변경되었습니다.

그런데!

파이썬 3에서는 long 타입이 없어지고 int 타입만 남게 되었습니다.

그래서 아무리 큰 수를 넣어도 Inteager overflow가 발생하지 않습니다. 

Python3에서는 Googol도 닮을 수 있을 정도로 큰 수를 넣을수 있습니다.

구골? 구골이란 10에 100승을 의미합니다.

10**100 = 구골!

테스트를 해보면, googol이란 변수에 10**100을 넣었습니다.

잘 표현이 되는 것을 확인할 수 있습니다. 그리고 이를 출력해 봐도 잘 나오는 것을 확인 할 수 있습니다.googol*googol

파이썬에 type이라는 함수가 있는 해당 함수로 변수의 타입을 확인 할 수 있습니다. 타입을 확인해 보니 int형 임을 확인 할 수 있습니다.

 

위의 테스트를 파이썬2에서 테스트를 해보면 아래와 같이 

long형으로 나오는 것을 확인 할 수 있습니다.

파이썬에서의 숫자를 다루면서 이 정도 알고 계시면 됩니다.

감사합니다. 

반응형

'파이썬 > 파이썬 기초 강의' 카테고리의 다른 글

4. 파이썬 숫자, 문자열 그리고 변수  (0) 2021.01.05
3.2 파이썬 Hello Python  (0) 2021.01.05
3.1 파이썬 설치 하기  (0) 2021.01.04
3. 파이썬 시작하기!  (0) 2021.01.04
2. 그래서 왜 파이썬?  (0) 2021.01.04