파이썬 | 숫자 계산하기

10720 단어 파이썬파이썬

파이썬에 대해서 이미 공부를 많이 했었지만 시간도 좀 지났고 다시 한 번 제대로 공부하고 싶어서 시작하게 되었다. 앞으로 정리할 내용들은 전부 코딩도장(https://dojang.io/) 강의를 보고 정리한 내용들이거나 추가적으로 공부한 내용들이다.

1. 정수 계산

5 / 2 # 2.5
4 / 2 # 2.0

파이썬 2에서는 5 / 2 를 하면 2 가 나오지만 파이썬 3 에서는 위와 같이 실수로 나온다. 그런데 만약에 4 / 2 와 같이 나누어 떨어지는 나눗셈에도 실수가 나온다.

소수점 이하를 버리는 나눗셈 ( // )

그렇다면 나눗셈의 결과를 정수로 나타내는 방법은 없을까?

>>> 5 // 2
2
>>> 4 // 2
2
>>> 5.5 // 2
2.0
>>> 4 // 2.0
2.0
>>> 4.1 // 2.1
1.0

위와 같이 하면 된다.

이렇게 하는게 무슨 상관이 있을까 할 수 있지만 코드를 작성하다가 보면 실수인지 정수인지에 따라서 결과가 완전히 달라질 수 있기 때문에 주의해야 한다.

나머지 ( % )

>>> 5 % 2
1

이와 같이 나머지를 구하는 연산자를 모듈 연산자 라고 한다.

거듭제곱 ( ** )

>>> 2 ** 10
1024

몫 과 나머지 (divmod)

>>> divmod(5, 2)
(2, 1)

divmod 라는 함수를 사용하면 몫 과 나머지를 동시에 구할 수 있다.

파이썬에서 값을 괄호로 묶인 형태를 튜플(tuple) 이라고 하며 값 여러개를 모아서 표현할 때 사용한다.

튜플은 변수 여러 개에 저장할 수 있다.

>>> quotient, remainder = divmod(5, 2)
>>> print(quotient, remainder)
2 1

형 변환

>>> int(3.3)
3
>>> int(5 / 2)
2
>>> int('10')
10

계산의 결과를 int 형으로 바꿔준다.

타입 확인

>>> type(10)
<class 'int'>

숫자 10 이 정수(int) 클래스라는 의미이다. 파이썬에서는 숫자도 객체(Object)이며, 객체는 클래스(class)로 표현한다.

진수

정수는 10진수, 2진수, 8진수, 16진수 로도 표현할 수 있다.

  • 2진수 : 0b
  • 8진수 : 0o
  • 16진수 : 0x
>>> 0b110
6
>>> 0o10
8
>>> 0xF
15

2. 실수 계산

1.5 나 3.33333 과 같이 뒤에 소수점이 붙은 것을 '실수' 라고 한다. 그렇다면 덧셈을 해보자

>>> 3.5 + 2.1
5.6

잘 나온다. 그렇다면 나머지 사직연산도 해보자.

>>> 4.3 - 2.7
1.5999999999999996
>>> 1.5 * 3.1
4.65
>>> 5.5 / 3.1
1.7741935483870968

그런데 4.3 - 2.7 결과가 조금 이상하게 나온다. 1.6 이 나와야 하는데 이상하게 1.59999... 의 결과가 나온다. 왜냐하면 컴퓨터는 실수를 표현할 때 오차가 발생하기 때문이다. (자세한 내용)

실수 + 정수

>>> 4.2 + 5
9.2

실수 + 정수를 해보면 결과는 실수로 나온다. 왜냐하면 더 표현범위가 넓은 것이 실수이기 때문이다.

실수형 변환

>>> float(5)
5.0
>>> float(1 + 2)
3.0
>>> float('5.3')
5.3

정수화를 했던것 과 비슷한 방식으로 실수형으로도 변환할 수 있다.

>>> type(3.5)
<class 'float'>

복소수

파이썬에서는 실수부와 허수부로 이루어진 복소수(complex number)도 사용할 수 있다. 이때, 허수부는 숫자 뒤에 j를 붙인다. (수학에서는 허수를 i 로 표현하지만 공학에서는 j 를 사용한다.)

두 실수를 복소수로 만들 때는 complex 라는 함수를 사용한다.

>>> complex(1.2, 1.3)
(1.2+1.3j)

좋은 웹페이지 즐겨찾기