N
Size: a a a
SR
SR
SR
SR
N
is not/is
проверяет относятся ли объекты к одному участку в памяти!=/==
вызывает метод __eq__
, который проверяет равенство объектов, и который можно перегрузить, как и в руби метод сравнения ==
>>> class Foo: pass
>>> Foo() == Foo()
False
>>> Foo() is Foo()
False
>>> class Foo:
... def __eq__(self, other):
... if isinstance(other, self.__class__):
... return True
... else:
... return False
...
>>> Foo() == Foo()
True
>>> Foo() is Foo()
False
SR
is not/is
проверяет относятся ли объекты к одному участку в памяти!=/==
вызывает метод __eq__
, который проверяет равенство объектов, и который можно перегрузить, как и в руби метод сравнения ==
>>> class Foo: pass
>>> Foo() == Foo()
False
>>> Foo() is Foo()
False
>>> class Foo:
... def __eq__(self, other):
... if isinstance(other, self.__class__):
... return True
... else:
... return False
...
>>> Foo() == Foo()
True
>>> Foo() is Foo()
False
SR
SR
N
=== returns true if obj is an instance of mod or one of mod’s descendants. Of limited use for modules, but can be used to classify objects by class.
equal?
, который, по идее, нельзя перегрузить[3] pry(main)> Foo.new.equal? Foo.new
=> false
[4] pry(main)> foo = Foo.new
=> #<Foo:0x0000560acf86de60>
[5] pry(main)> foo.equal? foo
=> true
E
SR
SR
K
K