pg.eq

Accessible via pg.eq, pg.symbolic.eq.

eq(left, right)[source]

Compares if two values are equal. Use symbolic equality if possible.

Example:

@pg.members([
  ('x', pg.typing.Any())
])
class A(pg.Object):
  def sym_eq(self, right):
    if super().sym_eq(right):
      return True
    return pg.eq(self.x, right)

class B:
  pass

assert pg.eq(1, 1)
assert pg.eq(A(1), A(1))
# This is True since A has override `sym_eq`.
assert pg.eq(A(1), 1)
# Objects of B are compared by references.
assert not pg.eq(A(B()), A(B()))
Return type:

bool

Parameters:
  • left – The left-hand value to compare.

  • right – The right-hand value to compare.

Returns:

True if left and right is equal or symbolically equal. Otherwise False.