Имеет ли код, который вы разместили выше, идентичный отступ с вашим реальным кодом? Если это так, проблема, вероятно, вызвана тем фактом, что в Python отступ имеет значение. То есть:
class Square():
def init(self, s1):
self.s1 = s1
.
.
.
не совпадает с
class Square():
def init(self, s1):
self.s1 = s1
.
.
.
Более подробное объяснение и примеры можно найти в руководстве по стилю PEP8 .