📅  最后修改于: 2020-11-05 04:39:55             🧑  作者: Mango
SymPy包中的核心模块包含Number类,该类代表原子序数。该类有两个子类:Float和Rational类。 Integer类进一步扩展了Rational类。
浮点类表示任意精度的浮点数。
>>> from sympy import Float
>>> Float(6.32)
上面的代码片段的输出如下-
6.32
SymPy可以将整数或字符串转换为浮点数。
>>> Float(10)
10.0
Float('1.33E5')# scientific notation
133000.0
在转换为浮点数时,还可以指定数字位数以实现精度,如下所示:
>>> Float(1.33333,2)
上面的代码片段的输出如下-
1.3
数字(p / q)的表示形式表示为Rational类的对象,其中q是非零数字。
>>> Rational(3/4)
上面的代码片段的输出如下-
$ \ frac {3} {4} $
如果将浮点数传递给Rational()构造函数,它将返回其二进制表示形式的基础值
>>> Rational(0.2)
上面的代码片段的输出如下-
$ \ frac {3602879701896397} {18014398509481984} $
为了简化表示,请指定分母限制。
>>> Rational(0.2).limit_denominator(100)
上面的代码片段的输出如下-
$ \ frac {1} {5} $
将字符串传递给Rational()构造函数时,将返回任意精度的有理数。
>>> Rational("3.65")
上面的代码片段的输出如下-
$ \ frac {73} {20} $
如果传递两个数字参数,也可以获取有理对象。分子和分母部分可用作属性。
>>> a=Rational(3,5)
>>> print (a)
>>> print ("numerator:{}, denominator:{}".format(a.p, a.q))
上面的代码片段的输出如下-
3/5
分子:3,分母:5
>>> a
上面的代码片段的输出如下-
$ \ frac {3} {5} $
SymPy中的Integer类表示任意大小的整数。构造函数可以接受Float或有理数,但小数部分将被丢弃
>>> Integer(10)
上面的代码片段的输出如下-
10
>>> Integer(3.4)
上面的代码片段的输出如下-
3
>>> Integer(2/7)
上面的代码片段的输出如下-
0
SymPy具有一个RealNumber类,该类充当Float的别名。 SymPy还将零和一定义为分别可通过S.Zero和S.One访问的单例类,如下所示-
>>> S.Zero
输出如下-
0
>>> S.One
输出如下-
1个
其他预定义的Singleton数对象是Half,NaN,Infinity和ImaginaryUnit
>>> from sympy import S
>>> print (S.Half)
输出如下-
½
>>> print (S.NaN)
输出如下-
南
无限可用作oo符号对象或S.Infinity
>>> from sympy import oo
>>> oo
上面的代码片段的输出如下-
$ \ infty $
>>> S.Infinity
上面的代码片段的输出如下-
$ \ infty $
ImaginaryUnit号可以作为I符号导入,也可以作为S.ImaginaryUnit访问,并表示-1的平方根
>>> from sympy import I
>>> I
当您执行上述代码片段时,您将获得以下输出-
一世
>>> S.ImaginaryUnit
上面的代码片段的输出如下-
一世
>>> from sympy import sqrt
>>> i=sqrt(-1)
>>> i*i
当您执行上述代码片段时,您将获得以下输出-
-1