Classes and Methods#

This is Exercise 3 of the Micro Python Tutorial.

We can define classes in Python. Classes are defined globally, within the file/module as they begin in column 0.

Within a class its functions are called methods. Unlike functions, methods are defined within the scope of the class and are therefore indented within the class's block.

A class has a constructor, a special method named __init__. All special methods in Python are surrounded by double underscores. (There are more of these but we'll get to them later.)

motor_controller.py#

class MotorController:

def
init(self): self.port_forward_motor = Motor('pfwd') self.stbd_forward_motor = Motor('sfwd') print('motor controller ready.')

motor.py:#

class Motor: def
init(self, name): self.motor_name = name self.motor_speed = 0 print('motor {} ready.'.format(self.motor_name)) def set_speed(self, speed): self.motor_speed = speed print("speed: {}".format(speed))

def get_speed(self): return self.motor_speed