代码拉取完成,页面将自动刷新
算术运算符和赋值运算符支持Number
和Tensor
运算,也支持不同dtype
的Tensor
运算。
单目算术运算符 | 支持类型 |
---|---|
+ |
Number 、Tensor ,取正值。 |
- |
Number 、Tensor 、COOTensor 、CSRTensor ,取负值。 |
~ |
Tensor ,且其数据类型为bool 。成员逐个取反。 |
说明:
~
操作符对输入的整数按位取反; MindSpore对~
的功能重新定义为对Tensor(Bool)
的逻辑取反。二元算术运算符 | 支持类型 |
---|---|
+ |
Number + Number 、String + String 、Number + Tensor 、Tensor + Number 、Tuple + Tensor 、Tensor + Tuple 、List + Tensor 、Tensor +List 、List +List 、Tensor + Tensor 、Tuple + Tuple 、COOTensor + Tensor 、Tensor + COOTensor 、COOTensor + COOTensor 、CSRTensor + CSRTensor 。 |
- |
Number - Number 、Tensor - Tensor 、Number - Tensor 、Tensor - Number 、Tuple - Tensor 、Tensor - Tuple 、List - Tensor 、Tensor - List 、COOTensor - Tensor 、Tensor - COOTensor 、COOTensor - COOTensor 、CSRTensor - CSRTensor 。 |
* |
Number * Number 、Tensor * Tensor 、Number * Tensor 、Tensor * Number 、List * Number 、Number * List 、Tuple * Number 、Number * Tuple 、Tuple * Tensor 、Tensor * Tuple 、 List * Tensor 、Tensor * List 、COOTensor * Tensor 、Tensor * COOTensor 、CSRTensor * Tensor 、Tensor * CSRTensor 。 |
/ |
Number / Number 、Tensor / Tensor 、Number / Tensor 、Tensor / Number 、Tuple / Tensor 、Tensor / Tuple 、List / Tensor 、Tensor / List 、COOTensor / Tensor 、CSRTensor / Tensor 。 |
% |
Number % Number 、Tensor % Tensor 、Number % Tensor 、Tensor % Number 、Tuple % Tensor 、Tensor % Tuple 、List % Tensor 、Tensor % List 。 |
** |
Number ** Number 、Tensor ** Tensor 、Number ** Tensor 、Tensor ** Number 、Tuple ** Tensor 、Tensor ** Tuple 、 List ** Tensor 、Tensor ** List 。 |
// |
Number // Number 、Tensor // Tensor 、Number // Tensor 、Tensor // Number 、Tuple // Tensor 、Tensor // Tuple 、List // Tensor 、Tensor // List 。 |
& |
Number & Number 、Tensor & Tensor 、Number & Tensor 、Tensor & Number 。 |
∣ |
Number | Number 、Tensor | Tensor 、Number | Tensor 、Tensor | Number 。 |
^ |
Number ^ Number 、Tensor ^ Tensor 、Number ^ Tensor 、Tensor ^ Number 。 |
<< |
Number << Number 。 |
>> |
Number >> Number 。 |
@ |
Tensor @ Tensor 。 |
限制:
number
类型时,不支持float64
和 int32
间的运算。+
、-
、*
、/
、%
、**
、//
支持左右操作数的值同时为bool
。tensor
类型时,左右操作数的值不可同时为bool
。list/tuple
和number
进行*
运算时表示将list/tuple
复制number
份后串联起来,list
内的数据类型可以是图模式下支持的任意数据类型,也支持多层嵌套。tuple
内的数据类型必须为number
、string
、none
,也支持多层嵌套。赋值运算符 | 支持类型 |
---|---|
= |
MindSpore支持的Python内置数据类型和MindSpore自定义数据类型 |
+= |
Number += Number 、String += String 、Number += Tensor 、Tensor += Number 、Tuple += Tensor 、Tensor += Tuple 、List += Tensor 、Tensor += List 、List += List 、Tensor += Tensor 、Tuple += Tuple 。 |
-= |
Number -= Number 、Tensor -= Tensor 、Number -= Tensor 、Tensor -= Number 、Tuple -= Tensor 、Tensor -= Tuple 、List -= Tensor 、Tensor -= List 。 |
*= |
Number *= Number 、Tensor *= Tensor 、Number *= Tensor 、Tensor *= Number 、List *= Number 、Number *= List 、Tuple *= Number 、Number *= Tuple 、Tuple *= Tensor 、Tensor *= Tuple 、 List *= Tensor 、Tensor *= List 。 |
/= |
Number /= Number 、Tensor /= Tensor 、Number /= Tensor 、Tensor /= Number 、Tuple /= Tensor 、Tensor /= Tuple 、List /= Tensor 、Tensor /= List 。 |
%= |
Number %= Number 、Tensor %= Tensor 、Number %= Tensor 、Tensor %= Number 、Tuple %= Tensor 、Tensor %= Tuple 、List %= Tensor 、Tensor %= List 。 |
**= |
Number **= Number 、Tensor **= Tensor 、Number **= Tensor 、Tensor **= Number 、Tuple **= Tensor 、Tensor **= Tuple 、 List **= Tensor 、Tensor **= List 。 |
//= |
Number //= Number 、Tensor //= Tensor 、Number //= Tensor 、Tensor //= Number 、Tuple //= Tensor 、Tensor //= Tuple 、List //= Tensor 、Tensor //= List 。 |
&= |
Number &= Number 、Tensor &= Tensor 、Number &= Tensor 、Tensor &= Number 。 |
∣= |
Number |= Number 、Tensor |= Tensor 、Number |= Tensor 、Tensor |= Number 。 |
^= |
Number ^= Number 、Tensor ^= Tensor 、Number ^= Tensor 、Tensor ^= Number 。 |
<<= |
Number <<= Number 。 |
>>= |
Number >>= Number 。 |
@= |
Tensor @= Tensor 。 |
限制:
当AugAssign
的左右操作数都为number
类型时,number
的值不可为bool
类型。
当AugAssign
的左右操作数都为number
类型时,不支持float64
和 int32
间的运算。
当AugAssign
的任一操作数为tensor
类型时,左右操作数的值不可同时为bool
。
list/tuple
和number
进行*=
运算时表示将list/tuple
复制number
份后串联起来,list/tuple
内对象的元素可以包含任意图模式支持的类型,也支持多层嵌套。
逻辑运算符 | 支持类型 |
---|---|
and |
String 、 Number 、 Tuple 、List 、Dict 、None 、标量、Tensor。 |
or |
String 、 Number 、 Tuple 、List 、Dict 、None 、标量、Tensor。 |
not |
Number 、Tuple 、List 、只有一个成员的Tensor。 |
限制:
and
、or
的左操作数必须要能被转换成布尔值。例如:左操作数不能为存在多个元素的Tensor。当and
、or
的左操作数是变量Tensor时,右操作数必须也是同类型Tensor且Tensor成员个数只能有一个。在其余情况下,右操作数无要求。比较运算符 | 支持类型 |
---|---|
in |
Number in Tuple 、String in Tuple 、Tensor in Tuple 、Number in List 、String in List 、Tensor in List 、String in Dictionary 、Number in Dictionary 、常量Tensor in Dictionary 、 Tuple in Dictionary 。 |
not in |
与in 相同。 |
is |
仅支持判断是None 、 True 或者False 。 |
is not |
仅支持判断不是None 、 True 或者False 。 |
< |
Number < Number 、Number < Tensor 、Tensor < Tensor 、Tensor < Number 。 |
<= |
Number <= Number 、Number <= Tensor 、Tensor <= Tensor 、Tensor <= Number 。 |
> |
Number > Number 、Number > Tensor 、Tensor > Tensor 、Tensor > Number 。 |
>= |
Number >= Number 、Number >= Tensor 、Tensor >= Tensor 、Tensor >= Number 。 |
!= |
Number != Number 、Number != Tensor 、Tensor != Tensor 、Tensor != Number 、mstype != mstype 、String != String 、Tuple ! = Tuple 、List != List 。 |
== |
Number == Number 、Number == Tensor 、Tensor == Tensor 、Tensor == Number 、mstype == mstype 、String == String 、Tuple == Tuple 、List == List 。 |
限制:
<
、<=
、>
、>=
、!=
来说,当左右操作数都为number
类型时,number
的值不可为bool
类型。<
、<=
、>
、>=
、!=
、==
来说,当左右操作数都为number
类型时,不支持float64
和 int32
间的运算。<
、<=
、>
、>=
、!=
、==
来说,当左右任一操作数为tensor
类型时,左右操作数的值不可同时为bool
。==
来说,当左右操作数都为number
类型时,支持左右操作数同时为bool
,不支持只有一个操作数为bool
。!=
、==
来说除mstype
外,其他取值均可和None
进行比较来判空。此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。