점프 투 파이썬 : https://wikidocs.net/book/1
파이썬 기본을 갈고 닦자 : https://wikidocs.net/16031
숫자형은 정수형, 실수형, None, bool
4가지로 이루어져 있다. 정확히는 Scalar 타입이라고 한다.
정수형(integer)은 다음과 같이 사용한다.
a = 123
a = -123
a = 0
실수형(Floating-point)는 소수점이 포함된 숫자를 말한다.
a = 1.2
a = -3.45
a = 4.24e10
e는 지수
를 말하며 4.24e10 = 4.24 * 10^10
을 말한다. e를 사용하여 표기하는 것을 지수 표기법이라고 한다.
진수 | 예 |
---|---|
10진수 | a = 10 |
2진수 | a = 0b10 |
8진수 | a = 0o10 |
16진수 | a = 0x10 |
다음과 같이 접두사인 prefix를 통해 진법을 다르게 표시할 수 있다.
+, - , *, /
가 가능하다. 그런데 /
을 조심해야한다.a = 3
b = 5
print(a + b) # 8
print(a - b) # -2
print(a * b) # 15
print(a / b) # 0.6
/
은 다른 언어와 달리 정수형 내림이 아니다. 즉, 몫과 나머지로 이루어진 나눗셈을 하는 것이다. 때문에 연산에 있어 정수를 기대했다가 실수가 나오는 문제가 나올 수 있다.
//
을 사용하면 된다. 즉, 이는 몫을 반환하는 것이라고 생각하면 된다. 또한 나머지를 반환하는 연산자는 %
이다.a = 8
b = 5
print(a // b) # 1
print(a % b) # 3
**
을 사용하여 표현할 수 있다.a = 10
print(a ** 2) # 100
실수나 다른 타입의 값을 정수형으로 변환하려면 int()
를 정수나 다른 타입의 값을 실수형으로 변환하려면 float()
을 사용한다.
a = 1
b = 1.5
print( a + b) # 2.5
print( a + int(b)) # 2
print( float(a) + int(b)) # 2.0
참고로 실수와 정수의 더하기는 실수이다.
int
에는 없는 nan(Not a Number)
, inf(플러스 무한)
, -inf(마이너스 무한)
을 문자열에서 float()
를 사용해 실수형으로 바꿀 수 있다.print(float("nan")) # nan
print(float("inf")) # inf
print(float("-inf")) # -inf
None
는 값이 없음을 의미한다.
a = None
print(a is None) # True
참, 거짓으로 False, True
로 이루어져있다. 앞 글자가 대문자라는 것을 확인하도록 하자
int 형태를 bool형으로 변환하면 0은 False나머지는 True이다. 실수형 역시도 마찬가지이다.
print(bool(0)) # False
print(bool(1)) # True
print(bool(-1)) # True
print(bool(0.000)) # False
print(bool(1.2342)) # True
참고로 str(문자형), list, dictionary, set,None 등의 자료형들도 bool을 씌울 때 비었다면 False로 나온다.
print(bool("")) # False
print(bool([])) # False
print(bool({})) # False
print(bool(None)) # False
print(bool([0])) # True