programing

파이썬의 복소수

oldcodes 2023. 6. 8. 22:32
반응형

파이썬의 복소수

복소수는 파이썬에서 지원되는 데이터 유형입니까?그렇다면 어떻게 사용합니까?

파이썬에서 숫자 뒤에 'j'나 'J'를 붙여 가상의 숫자로 만들 수 있으므로 복잡한 리터럴을 쉽게 쓸 수 있습니다.

>>> 1j
1j
>>> 1J
1j
>>> 1j * 1j
(-1+0j)

'j' 접미사는 전기 공학에서 유래한 것으로, 변수 'i'는 일반적으로 전류에 사용됩니다. (이유는 여기에서 확인할 수 있습니다.

복소수의 유형은 입니다. 원하는 경우 이 유형을 생성자로 사용할 수 있습니다.

>>> complex(2,3)
(2+3j)

복잡한 숫자에는 일부 내장 액세스 장치가 있습니다.

>>> z = 2+3j
>>> z.real
2.0
>>> z.imag
3.0
>>> z.conjugate()
(2-3j)

다음과 같은 여러 내장 함수가 복잡한 숫자를 지원합니다.

>>> abs(3 + 4j)
5.0
>>> pow(3 + 4j, 2)
(-7+24j)

표준 모듈에는 복잡한 숫자를 처리하는 더 많은 기능이 있습니다.

>>> import cmath
>>> cmath.sin(2 + 3j)
(9.15449914691143-4.168906959966565j)

복잡한 숫자에 대한 다음 예제는 끝에 있는 오류 메시지를 포함하여 자체적으로 설명해야 합니다.

>>> x=complex(1,2)
>>> print x
(1+2j)
>>> y=complex(3,4)
>>> print y
(3+4j)
>>> z=x+y
>>> print x
(1+2j)
>>> print z
(4+6j)
>>> z=x*y
>>> print z
(-5+10j)
>>> z=x/y
>>> print z
(0.44+0.08j)
>>> print x.conjugate()
(1-2j)
>>> print x.imag
2.0
>>> print x.real
1.0
>>> print x>y

Traceback (most recent call last):
  File "<pyshell#149>", line 1, in <module>
    print x>y
TypeError: no ordering relation is defined for complex numbers
>>> print x==y
False
>>> 

예, 복합 유형은 Python에서 지원됩니다.

숫자의 경우 Python 3은 아래와 같이 int, float, complex 3가지 유형을 지원합니다.

print(type(100), isinstance(100, int))
print(type(100.23), isinstance(100.23, float))
print(type(100 + 2j), isinstance(100 + 2j, complex))

출력:

<class 'int'> True
<class 'float'> True
<class 'complex'> True

숫자의 경우 Python 2는 아래와 같이 int, long, floatcomplex 유형 4가지를 지원합니다.

print(type(100), isinstance(100, int))
print(type(10000000000000000000), isinstance(10000000000000000000, long))
print(type(100.23), isinstance(100.23, float))
print(type(100 + 2j), isinstance(100 + 2j, complex))

출력:

(<type 'int'>, True)
(<type 'long'>, True)
(<type 'float'>, True)
(<type 'complex'>, True)

언급URL : https://stackoverflow.com/questions/8370637/complex-numbers-in-python

반응형