detecting variable types

Peter Hansen peter at engcorp.com
Wed Sep 22 15:32:00 EDT 2004


Jay wrote:
> I'm sure this is a really dumb question, but how do you detect a variable
> type in Python?
> 
> For example, I want to know if the variable "a" is a list of strings or a
> single string. How do I do this?

Use the builtin function "type()", but note the following:

1. Variables don't actually have types in Python (and they're usually
called "names" in Python, for various reasons), but the data they are
currently bound to does have a type and that's what type() returns.
Often the distinction won't matter to you...

2. Most of the time people trying to do what you are probably trying
to do are going about things the wrong way, often from experience
with other languages.  Lots of Python folks would be happy to introduce
you to "better" ways to do things, if you'll explain the use case
and tell us what you're actually trying to accomplish.  (Of course,
using "type()" will work, but it's rarely considered the best
approach in the Python community.)

-Peter



More information about the Python-list mailing list