SymPy-기호
SymbolsymPy 라이브러리에서 가장 중요한 클래스입니다. 앞서 언급했듯이 기호 계산은 기호로 수행됩니다. SymPy 변수는 Symbols 클래스의 객체입니다.
Symbol () 함수의 인수는 변수에 할당 할 수있는 기호를 포함하는 문자열입니다.
>>> from sympy import Symbol
>>> x=Symbol('x')
>>> y=Symbol('y')
>>> expr=x**2+y**2
>>> expr
위의 코드 스 니펫은 아래 표현식에 해당하는 출력을 제공합니다.
$x^2 + y^2$
기호는 둘 이상의 알파벳 일 수 있습니다.
>>> s=Symbol('side')
>>> s**3
위의 코드 스 니펫은 아래 표현식에 해당하는 출력을 제공합니다.
$side^3$
SymPy는 또한 Symbols()한 번에 여러 심볼을 정의 할 수있는 기능입니다. 문자열에는 쉼표 또는 공백으로 구분 된 변수 이름이 포함됩니다.
>>> from sympy import symbols
>>> x,y,z=symbols("x,y,z")
SymPy의 abc 모듈에서 모든 라틴 및 그리스 알파벳은 기호로 정의됩니다. 따라서 Symbol 객체를 인스턴스화하는 대신이 방법이 편리합니다.
>>> from sympy.abc import x,y,z
그러나 이름 C, O, S, I, N, E 과 Q미리 정의 된 기호입니다. 또한 알파벳이 두 개 이상인 심볼은 abc 모듈에 정의되어 있지 않으므로 위와 같이 Symbol 객체를 사용해야합니다. abc 모듈은 기본 SymPy 네임 스페이스에서 정의를 감지 할 수있는 특수 이름을 정의합니다. clash1에는 단일 문자가 포함되고 clash2에는 여러 문자 충돌 기호가 있습니다.
>>> from sympy.abc import _clash1, _clash2
>>> _clash1
위 스 니펫의 출력은 다음과 같습니다.
{'C': C, 'O': O, 'Q': Q, 'N': N, 'I': I, 'E': E, 'S': S}
>>> _clash2
위 스 니펫의 출력은 다음과 같습니다.
{'beta': beta, 'zeta': zeta, 'gamma': gamma, 'pi': pi}
인덱스 기호는 range () 함수와 유사한 구문을 사용하여 정의 할 수 있습니다. 범위는 콜론으로 표시됩니다. 범위 유형은 콜론 오른쪽에있는 문자로 결정됩니다. itr이 숫자이면 왼쪽의 모든 연속 숫자가 음이 아닌 시작 값으로 간주됩니다. 오른쪽에있는 모든 연속 숫자는 종료 값보다 1 큰 것으로 간주됩니다.
>>> from sympy import symbols
>>> symbols('a:5')
위 스 니펫의 출력은 다음과 같습니다.
(a0, a1, a2, a3, a4)
>>> symbols('mark(1:4)')
위 스 니펫의 출력은 다음과 같습니다.
(mark1, mark2, mark3)