IsString

Larry Bates larry.bates at websafe.com
Mon Dec 12 19:51:36 EST 2005


Steven D'Aprano wrote:
> On Mon, 12 Dec 2005 14:24:48 -0700, Steven Bethard wrote:
> 
> 
>>Tuvas wrote:
>>
>>>I need a function that will tell if a given variable is a character or
>>>a number. Is there a way to do this? Thanks!
>>
>>What's your use case?  This need is incommon in Python...
> 
> 
> No offense to the four or five helpful folks who answered Tuvas with
> explanations of type() and isinstance(), but there is such a thing as dumb
> insolence. I should know, I've done it often enough: answer the question
> the person asks, instead of the question you know he means.
> 
> Satisfying, isn't it? *wink*
> 
> Judging by the tone of the original poster's question, I'd say for sure he
> is an utter Python newbie, probably a newbie in programming in general,
> so I bet that what (s)he really wants is something like this:
> 
> somefunction("6")
> -> It is a number.
> 
> somefunction("x")
> -> It is a character.
> 
> 
> So, at the risk of completely underestimating Tuvas' level of programming
> sophistication, I'm going to answer the question I think he meant to ask:
> how do I tell the difference between a digit and a non-digit?
> 
> import string
> def isDigit(s):
>     if len(s) != 1:
>         # a digit must be a single character, anything more
>         # or less can't be a digit
>         return False
>     else:
>         return s in string.digits
> 
> 
> If you know that you are only dealing with a single character c, never a
> longer string, you can just use the test:
> 
> c in string.digits
> 
> 

I had the same thought, but reread the post.  He asks "if a given
variable is a character or a number".  I figured that even if he
is coming from another language he knows the difference between
"a given variable" and the "contents of a give variable".  I guess
we will see.... ;-).  This list is so good, he gets BOTH questions
answered.

-Larry Bates



More information about the Python-list mailing list