In his article
Spyced: How well do you know Python, part 1, Jonathan Ellis points out the danger of using
exec
. This principle shows up in inheritance too if you're not careful (or you come from Java):
>>> class A:
... def __init__(self):
... self.__x = 5
... def getx(self):
... return self.__x
...
>>> class B(A):
... def getx(self):
... return self.__x + 5
...
>>> b = B()
>>> b.getx()
Traceback (most recent call last):
File "", line 1, in ?
File "", line 3, in getx
AttributeError: B instance has no attribute '_B__x'
No comments:
Post a Comment