12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- class Robot:
- """Represents a robot, with a name."""
- # A class variable, counting the number of robots
- population = 0
- def __init__(self, name):
- """Initializes the data."""
- self.name = name
- print("(Initializing {})".format(self.name))
- # When this person is created, the robot
- # adds to the population
- Robot.population += 1
- def die(self):
- """I am dying."""
- print("{} is being destroyed!".format(self.name))
- Robot.population -= 1
- if Robot.population == 0:
- print("{} was the last one.".format(self.name))
- else:
- print("There are still {:d} robots working.".format(
- Robot.population))
- def say_hi(self):
- """Greeting by the robot.
- Yeah, they can do that."""
- print("Greetings, my masters call me {}.".format(self.name))
- @classmethod
- def how_many(cls):
- """Prints the current population."""
- print("We have {:d} robots.".format(cls.population))
- droid1 = Robot("R2-D2")
- droid1.say_hi()
- Robot.how_many()
- droid2 = Robot("C-3PO")
- droid2.say_hi()
- Robot.how_many()
- print("\nRobots can do some work here.\n")
- print("Robots have finished their work. So let's destroy them.")
- droid1.die()
- droid2.die()
- Robot.how_many()
|