파이썬 튜토리얼-숫자와 변환
이 섹션에서는 Python 프로그래밍의 숫자 데이터 유형과 이러한 숫자에 대해 수행 할 수있는 수학 연산에 대해 학습합니다. 또한 한 데이터 유형에서 다른 데이터 유형으로 변환하는 방법에 대해 학습합니다.
파이썬 숫자 데이터 타입
Python 의 숫자 데이터 유형은 다음과 같습니다.
- 정수
- 부동 소수점 숫자
- 복소수
정수에는 소수 / 소수 부분이 없습니다.
부동 소수점 숫자는 소수 부분을 포함합니다.
복소수에는 실수 부와 허수 부가 있습니다. 복소수는 x + yj
형식이며, 여기서 x 는 실수 부이고 yy 는 허수 부입니다.
type()
함수는 변수 또는 더 일반적으로 객체의 데이터 유형을 가져 오는 데 사용됩니다. isinstance()
함수는 변수가 특정 클래스에 속하는지 여부를 확인하는 데 사용됩니다.
x = 3
print("type of", x, "is", type(x))
x = 3.23
print("type of", x, "is", type(x))
x = 3 + 3j
print("is", x, "a complex number:", isinstance(x, complex))
결과:
type of 3 is <class 'int'>
type of 3.23 is <class 'float'>
is (3+3j) a complex number: True
정수는 길이가 가능하지만 부동 소수점 수는 소수점 이하 15 자리까지만 가능합니다.
정수는 2 진 (2 진), 16 진 (16 진) 및 8 진 (8 진) 형식으로 표시 될 수도 있습니다. 접두사를 사용하여 수행 할 수 있습니다. 아래 표를 확인하십시오.
번호 시스템 | 접두사 |
---|---|
이진 | 0b 또는 0B |
옥탈 | 0o 또는 0O |
16 진수 | 0x 또는 0X |
예:
>>> print(0b110)
6
>>> print(0xFA)
250
>>> print(0o12)
10
파이썬 숫자 타입 변환
암시 적 유형 변환
하나의 float
유형과 다른 하나의 int
유형을 추가하면 결과의 유형은 float
가됩니다. 여기서 int
는 암시 적으로 float
로 변환됩니다.
>>> 2 + 3.0
5.0
여기에서 2는 내재적으로 부동 소수점으로 변환되는 정수이며 2.0입니다.
이 암시 적 유형 변환을 강제라고도합니다.
명시 적 타입 변환
int()
,float()
,str()
등과 같은 함수를 사용하여 명시적인 숫자 데이터 형식 변환을 수행 할 수도 있습니다.
>>> x = 8
>>> print("Value of x = ", int(x))
Value of x = 8
>>> print("Converted Value of x = ", float(x))
Converted Value of x = 8.0
float
값을 int
값으로 변환하려면 소수 부분이 잘립니다.
파이썬 분수
fractions
라는 모듈은 소수를 포함하는 연산을 수행하는 데 사용됩니다. fractions
모듈은 분자 / 분모로 분수를 나타낼 수 있습니다.
import fractions
print(fractions.Fraction(0.5))
1 / 2
fractions
모듈의 Fraction
함수는 소수를 분수로 변환 한 후 다음 분수에서 수학 연산을 수행 할 수 있습니다.
print(Fraction(0.5) + Fraction(1.5))
print(Fraction(0.5) * Fraction(1.5))
print(Fraction(0.5) / Fraction(1.5))
결과:
2
3 / 4
1 / 3
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook