Modules
->
OOP
->
Methods
->
Comparing objects
Comparing objects
Related code
class Dog: """Represents a dog. attributes: name: str, age: int, energy: int """ def print(self): print(f'Name: {self.name}, Age: {self.age}') def set_info(self, name, age, energy): self.name = name self.age = age self.energy = energy def play(self, hours): self.energy -= hours * 10 def sleep(self, hours): self.energy += hours * 10 murki = Dog() murki.set_info("Murki", 2, 50) reksi = Dog() reksi.set_info("Reksi", 1, 50)
class Dog: ... def is_older(dog1, dog2): return dog1.age > dog2.age ...
is_older
takes two dogs, dog1
and dog2
and returns True
if dog1
's age is greater than dog2
's age.
is_older
, unlike other methods we've seen so far, takes two Dog
instances.
We've already mentioned that, by convention, the first one is named self
. By the same convention,
if the second argument is an instance of the class, it is named other
:
class Dog: ... def is_older(self, other): return self.age > other.age ...
>>> murki.is_older(reksi) True