SymPy – 数字
SymPy包中的核心模块包含Number类,代表原子数。这个类有两个子类。Float和Rational类。有理数类由Integer类进一步扩展。
Float类表示任意精度的浮点数。
上述代码片断的输出如下 −
6.32
SymPy可以将整数或字符串转换为浮点数。
10.0
133000.0
在转换为float时,也可以指定精度的位数,如下图所示
上述代码片断的输出如下 −
1.3
一个数字(p/q)的代表被表示为有理数类的对象,q是一个非零数。
上述代码片断的输出如下 −
如果一个浮点数被传递给Rational()构造函数,它将返回其二进制表示的基本值
上述代码片断的输出如下 −
对于更简单的表示,指定分母限制。
上述代码片断的输出如下 −
当一个字符串被传递给Rational()构造函数时,会返回一个任意精度的有理数。
上述代码片断的输出如下 −
如果传递两个数字参数,也可以得到有理数对象。分子和分母部分可以作为属性使用。
上述代码片断的输出如下 −
3/5
numerator:3,denominator:5
上述代码片断的输出如下 −
SymPy中的Integer类表示任何大小的整数。构造函数可以接受一个浮点数或有理数,但小数部分会被丢弃。
上述代码片断的输出如下 −
10
上述代码片断的输出如下 −
3
上述代码片断的输出如下 −
0
SymPy有一个 RealNumber 类,作为Float的别名。SymPy还定义了Zero和One作为单子类,可以分别用S.Zero和S.One访问,如下图所示。
输出情况如下 –
0
输出情况如下 –
1
其他预定义的单子数对象有:Half、NaN、Infinity和ImaginaryUnit。
输出结果如下 –
½
输出结果如下 –
NaN
Infinity可作为oo符号对象或S.Infinity使用
上述代码片断的输出如下 −
上述代码片断的输出如下 −
ImaginaryUnit数字可以作为I符号导入或作为S.ImaginaryUnit访问,表示-1的平方根。
当你执行上述代码片断时,你会得到以下输出 —
i
上述片段的输出如下 –
i
当你执行上述代码片断时,你会得到以下输出 –
-1