이 포스트는 개인적으로 공부한 내용을 정리한 글입니다.
자세한 내용은 아래 참고자료를 봐주시면 감사하겠습니다.
>>> 5 + 2
7
>>> 5 - 2
3
>>> 5 * 2
10
>>> 5 / 2
2.5
>>> 5 // 2
2
>>> 5 % 2
1
python3 부터 int / int == double 이라고 합니다.
java와 같이 실수값인 몫만 얻고싶다면 int // int (버림 나눗셈) 를 하면 됩니다.
>>> 5.5 // 2
2.0
>>> 5 // 2.0
2.0
하지만 double // int 혹은 int // double 은 double이 리턴됩니다.
>>> 2 ** 10 # 2의 10승
1024
거듭제곱은 ** 을 사용합니다.
>>> a = 10
>>> type(a)
<class 'int'>
>>> type(str(a))
<class 'str'>
>>> float(a)
10.0
>>> b = "10"
>>> type(b)
<class 'str'>
>>> type(int(b))
<class 'int'>
>>> c = "string"
>>> type(c)
<class 'str'>
>>> type(int(c))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'string'
형변환은 자바보다 훨씬 간단합니다.
int(대상)
float(대상)
str(대상)
등 과 같이 사용합니다.
string을 int로 바꿔달라는 요청을 하면 에러가 발생합니다.
>>> divmod(5, 2)
(2, 1)
>>> divmod(5.0, 2)
(2.0, 1.0)
>>> divmod(5., 2)
(2.0, 1.0)
몫과 나머지를 함께 구하려면 divmod(대상, 대상)
을 사용하면 됩니다.
divmod
도 float
형이 들어가면 몫과 나머지 둘 다 float이 됩니다.
float
를 입력할 때 5.0 이 아닌 5. 을 입력해도 됩니다.