I was confused when I wrote my question, I felt that it was a vague question for some readers. So I rewrote the question again to be clear ?
I learned object oriented programming using Java. My knowledge about self in python that it's like this in Java the two are representing the instance - one instance - of the class itself. Ex: self.name, self.age, etc ...
So the question here, how Odoo framework developers made the self represents more than one instance of the class and iterate over self using traditional normal python class definition ?
for i in self
The answer is can't be achieved using normal python definition they do it using meta-class as described in URLs in the answer of this questions.
Sorry to be late for posting my answer, I found my missing
Iterate over class instances (self) 01
Iterate over class instances (self) 02
Iterate over class instances (self) 03