check if var is dict

Bruno Desthuilliers bruno.42.desthuilliers at wtf.websiteburo.oops.com
Mon Aug 13 09:46:18 EDT 2007


Jeff McNeil a écrit :
(top-post corrected)
> On 8/13/07, Astan Chee <stanc at al.com.au> wrote:
>> Hi,
>> I have a variable, I want to check if it is a dictionary or a string.
>> Is there any better way to do this than I've done. How I did it is by
>> doing a .items() and catching a AttributeError that it raises if its not
>> a dictionary.
>> How do i properly do it?
>> Thanks

 > You could use 'isinstance' to determine whether or not your object is
 > an instance of a particular class.
 >
 >>>> isinstance({}, dict)
 > True
 >>>> isinstance("", basestring)
 > True
 >
 > Note the use of 'basestring', which will catch unicode as well.
 >
The problem is that it will prevent passing some perfectly valid objects 
(in this case, mostly dict-like objects, and there are quite a lot of 
dict-like objects in existing Python code).



More information about the Python-list mailing list