简体   繁体   中英

How to determine the datatype in Python?

astring ('a','tuple')

How do I determine if "x" is a tuple or string?

if isinstance(x, basestring):
   # a string
else:
   try: it = iter(x)
   except TypeError:
       # not an iterable
   else:
       # iterable (tuple, list, etc)

@Alex Martelli's answer describes in detail why you should prefer the above style when you're working with types in Python (thanks to @Mike Hordecki for the link).

isinstance(x, str)
isinstance(x, tuple)

In general:

isinstance(variable, type)

Checks whether variable is an instance of type (or its subtype) ( docs ).

PS. Don't forget that strings can also be in unicode ( isinstance(x, unicode) in this case) (or isinstance(x, basestring) (thanks, JF Sebastian!) which checks for both str and unicode ).

use isinstance() , general syntax is:

if isinstance(var, type):
    # do something

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM