chainer.utils.type_check.
Expr
(priority)[source]¶
式の抽象構文木。
このクラスは抽象構文木を表し、値ではありません。 eval()
関数で、実際の値を取得することができます。 __str__()
メソッドを用いてシンタックス表現を取得します。各比較演算子(例 ==
) は2つの式を比較した結果を表す、新たな Expr
オブジェクトを生成します。
cもExpr
のインスタンスとなります。これを評価して、値を取得するために、eval()
メソッドを呼び出します。
>>> c.eval()
True
もとの等式表現を取得するために str
関数を呼んでください。
>>> str(c)
'x == y'
実際に式と値を比較可能です。
>>> (x == 1).eval()
True
式をブール値にキャストする時、 and
のようなブール演算子を使用することはできませんので注意してください。
>>> z = Variable(1, 'z')
>>> x == y and y == z # この行でエラーが発生する。
Traceback (most recent call last):
RuntimeError: Don't convert Expr to bool.
Please call Expr.eval method to evaluate expression.
Methods
eval
()[source]¶
実際の値を取得して構文木を評価する。
この関数の挙動は実装しているクラスに依存します。例えば、バイナリ演算子である +
は__add__
関数を eval()
関数の2つの結果とともに呼び出します。
__eq__
(x, y)¶
__ne__
(x, y)¶
__lt__
(x, y)¶
__le__
(x, y)¶
__gt__
(x, y)¶
__ge__
(x, y)¶
__bool__
()[source]