파이썬 튜토리얼-숫자와 변환

Jinku Hu 2023년1월30일
  1. 파이썬 숫자 데이터 타입
  2. 파이썬 숫자 타입 변환
  3. 파이썬 분수
파이썬 튜토리얼-숫자와 변환

이 섹션에서는 Python 프로그래밍의 숫자 데이터 유형과 이러한 숫자에 대해 수행 할 수있는 수학 연산에 대해 학습합니다. 또한 한 데이터 유형에서 다른 데이터 유형으로 변환하는 방법에 대해 학습합니다.

파이썬 숫자 데이터 타입

Python 의 숫자 데이터 유형은 다음과 같습니다.

  1. 정수
  2. 부동 소수점 숫자
  3. 복소수

정수에는 소수 / 소수 부분이 없습니다.

부동 소수점 숫자는 소수 부분을 포함합니다.

복소수에는 실수 부와 허수 부가 있습니다. 복소수는 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
작가: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

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