You can't do fget=self.getNumberOfColumns
because self
isn't declared in the class scope.
However, the lambda
isn't necessary; you can write it as
numberOfRows = property(fget=getNumberOfRows)
or, even better:
@property
def numberOfRows(self):
return self._numberOfRows
without the need for an explicit getter, property
call and assignment.