SymPy - 数字
SymPy 包中的核心模块包含表示原子序数的 Number 类。 这个类有两个子类:Float 和 Rational 类。 Integer 类进一步扩展了 Rational 类。
Float 类代表一个任意精度的浮点数。
>>> 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}$
For simpler representation, specify denominator limitation.
>>> Rational(0.2).limit_denominator(100)
以上代码片段的输出如下 −
$\frac{1}{5}$
当一个字符串被传递给 Rational() 构造函数时,返回一个任意精度的有理数。
>>> Rational("3.65")
以上代码片段的输出如下 −
$\frac{73}{20}$
传递两个数字参数也可以获得Rational对象。 分子和分母部分可作为属性使用。
>>> a=Rational(3,5) >>> print (a) >>> print ("numerator:{}, denominator:{}".format(a.p, a.q))
以上代码片段的输出如下 −
3/5
numerator:3, denominator:5
>>> a
以上代码片段的输出如下 −
$\frac{3}{5}$
SymPy 中的整数类表示任意大小的整数。 构造函数可以接受浮点数或有理数,但小数部分被丢弃
>>> Integer(10)
以上代码片段的输出如下 −
10
>>> Integer(3.4)
以上代码片段的输出如下 −
3
>>> Integer(2/7)
以上代码片段的输出如下 −
0
SymPy 有一个 RealNumber 类作为 Float 的别名。 SymPy 还将 Zero 和 One 定义为可分别使用 S.Zero 和 S.One 访问的单例类,如下所示 −
>>> S.Zero
输出结果如下 −
0
>>> S.One
输出结果如下 −
1
其他预定义的单例数对象有 Half、NaN、Infinity 和 ImaginaryUnit
>>> from sympy import S >>> print (S.Half)
输出结果如下 −
½
>>> print (S.NaN)
输出结果如下 −
nan
Infinity 可用作 oo 符号对象或 S.Infinity
>>> from sympy import oo >>> oo
以上代码片段的输出如下 −
$\infty$
>>> S.Infinity
以上代码片段的输出如下 −
$\infty$
ImaginaryUnit 数可以作为 I 符号导入或作为 S.ImaginaryUnit 访问并表示 -1 的平方根
>>> from sympy import I >>> I
当你执行上面的代码片段时,你会得到以下输出 −
i
>>> S.ImaginaryUnit
上面代码片段的输出如下 −
i
>>> from sympy import sqrt >>> i=sqrt(-1) >>> i*i
当你执行上面的代码片段时,你会得到以下输出 −
-1