Also fuer mich sieht das alles so aus, als wuerde jemand versuchen, javaartig Python zu programmieren, indem er denjenigen, der die Klasse benutzt einschraenkt.
Ich mein, wenn man zur Integritaetssicherung der Klasse unbedingt jeden Wert sichern will, kann man das auch einfach so machen:
Code: Alles auswählen
class Test(object):
def __init__(self, val=345):
self.val = val if isinstance(val, int) else 345
def __repr__(self):
return '<Test with value of %i>' %self.val
Code: Alles auswählen
In [31]: Test()
Out[31]: <Test with value of 345>
In [32]: Test(None)
Out[32]: <Test with value of 345>
In [33]: Test("foo")
Out[33]: <Test with value of 345>
Ich weiß, dass hilft dir jetzt nichts bei der Ideenfindung zum Thema
__new__, aber ich wuerde mich einfach damit abfinden, dass man es wirklich *seltenst* braucht
[url=http://www.python-forum.de/post-86552.html]~ Wahnsinn ist auch nur eine andere Form der Intelligenz ~[/url]
hackerkey://v4sw6CYUShw5pr7Uck3ma3/4u7LNw2/3TXGm5l6+GSOarch/i2e6+t2b9GOen7g5RAPa2XsMr2