SymPy中的数字类是什么
Number类在SymPy Python中表示原子数。它有三个子类。它们是Float, Rational, 和Integer。这些子类用来表示不同种类的数,如整数、浮动小数和有理数。还有一些预定义的单子对象,代表NaN、Infinity和虚数。
Float 类
Float类是用来表示浮点数的。这个Float类的语法给定如下
from sympy import Float
Float(any_Number)
这里的any_Number是指浮点数或任何整数。
要使用Float(),必须先从sympy包中导入Float类。float方法能够将一个整数表示为浮点数,并且能够限制小数点后的数字。它还能将科学符号表示为数字。
# import Float class from sympy
from sympy import Float
# converting integer to float
print(Float(5))
# limiting the digits
print(Float(22.7))
print(Float(22.7, 4))
# Scientific notation to number format
print(Float('99.99E1'))
输出
5.00000000000000
22.7000000000000
22.70
999.900000000000
Rational 类
有理数类是用来表示p/q形式的数字,即分子/分母形式的数字。有理数类的语法提及如下
from sympy import Rational
Rational(any_Number)
这里的any_Number可以是一个有理数、整数或浮点值。
在使用有理数类之前,首先需要将其导入。有理数类能够将字符串转换为有理数,如果需要的话,还能够限制分母的数值。
# import Rational class from sympy
from sympy import Rational
# representing a rational number
print(Rational(1/2))
# Representing a string in p/q form
print(Rational("12/13"))
print(Rational(0.3))
# limiting the digits in denominator
print(Rational(0.3).limit_denominator(10))
# Passing 2 numbers as arguments to
# Rational class
print(Rational(5, 7))
输出
1/2
12/13
5404319552844595/18014398509481984
3/10
5/7
Integer 类
sympy中的integer类是用来表示整数的。它将浮点数和有理数转换为整数。整数类的语法如下所示
from sympy import Integer
Integer(any_Number)
这里的any_Number可以是整数、有理数和浮点数。
from sympy import Integer
# converting float to integer
print(Integer(1.5))
# converting rational to integer
print(Integer(500/200))
输出
1
2
让我们来看看一个示例代码,它描述了一些预定义的单子对象,代表了一些重要的记号。
from sympy import S
# represents not a number
print(S.NaN)
# represents Infinity
print(S.Infinity)
# represents imaginary value
print(S.ImaginaryUnit)
# represents 1/2 value
print(S.Half)
输出
nan
oo
I
1/2