For example: I'm writing simple class: class Numbers: def __init__(self, numbers): self._numbers = numbers def get_all(self): for number in self._numbers: yield number
If I want to add another method for yielding even numbers only, I may use: def get_even(self): for numbers in self._numbers: if numbers % 2 == 0: yield number or, I can use public method 'get_all' instead of using private attribute '_numbers', like: def get_even(self): for numbers in self.get_all(): if numbers % 2 == 0: yield number Which coding style do you prefer? I'm more toward public API way, since it requires less code change if I refactor private data structure later. Plz give pros and cons of these. -- http://mail.python.org/mailman/listinfo/python-list