Zentrader wrote: > On Sep 7, 11:30 am, Marc 'BlackJack' Rintsch <[EMAIL PROTECTED]> wrote: >> On Fri, 07 Sep 2007 18:49:12 +0200, Jorgen Bodde wrote: >>> As for why caring if they are bools or not, I write True and False to >>> the properties, the internal mechanism works like this so I need to >>> make that distinction. >> Really? Can't you just apply the `int()` function? >> >> In [52]: map(int, [1, 0, True, False]) >> Out[52]: [1, 0, 1, 0] >> >> Ciao, >> Marc 'BlackJack' Rintsch > > Blackjack's solution would take care of the problem, so this is just > for general info. Looks like a "feature" of isinstance() is to > consider both True and 1 as booleans, but type() distinguishes between > the two. >>>> x=True > ... if type(x) == type(1): > ... print "int" > ... else: > ... print "not int" > ... > not int > > if type(x) == type(True): > ... print "bool" > ... > bool >
Or just : >>> a = True >>> type(a) == int False >>> type(a) == bool True >>> a = 'True' >>> type(a) == bool False >>> type(a) == str True >>> a = 5 >>> type(a) == bool False >>> type(a) == str False >>> type(a) == int True >>> a = 4.323 >>> type(a) == int False >>> type(a) == float True -- http://mail.python.org/mailman/listinfo/python-list