[EMAIL PROTECTED] wrote: > My Team Lead says my object counter code seen below is not pythonic > > class E(object): > _count = 0 > def __init__(self): > E._count += 1 > count = property(lambda self: E._count ) > > def test(): > if __name__ == "__main__": > e1 = E() > print e1.count > e2 = E() > print e2.count > e3 = E() > print e3.count > > test() > > if not what would be the pythonic way
why are you using a getter (the property) instead of just exposing the attribute ? why not just do class E(object): count = 0 # instance counter def __init__(self): E.count += 1 ? and this is a bit backwards: > def test(): > if __name__ == "__main__": > /code/ > test() I suspect you meant to write: if __name__ == "__main__": def test(): /code/ test() or even if __name__ == "__main__": /code/ </F> -- http://mail.python.org/mailman/listinfo/python-list