On May 4, 1:31 pm, "Hamilton, William " <[EMAIL PROTECTED]> wrote: > > -----Original Message----- > > From: [EMAIL PROTECTED] > > > On May 4, 5:02 am, Jaswant <[EMAIL PROTECTED]> wrote: > > > This is a simple way to do it i think > > > > s=hello > > > > >>> if(len(s)==0): > > > > ... print "Empty" > > > ... else: > > > ... print s > > > ... > > > hello > > > But you are still making the assumption that s is a string. > > (BTW, you need quotes around your example.) > > > For example: > > > >>> print a,b > > 11 11 > > > Can you tell which one is the string? I.e., which one had quotes > > around it? > > > If you correctly assume that it was b, then yes, your example works. > > > >>> print len(b) > > 2 > > > If you incorrectly assume it was a, then the example doesn't work. > > > >>> print len(a) > > Traceback (most recent call last): > > File "<pyshell#8>", line 1, in <module> > > print len(a) > > TypeError: object of type 'int' has no len() > > > You have to know that a variable is a string before you try to do a > > len(). > > > Dynamic typing is a feature, but that doesn't relieve you of the > > necessary tests. > > Your point would be important if the question were "How can I tell if x > is an empty string?" On the other hand, "How to check if a string is > empty?" implies that the OP already knows it is a string. Maybe he's > been using string methods on it, maybe he got it from a function that he > knows provides a string. Maybe he's checked its type. It doesn't really > matter, if he's aware it is a string he doesn't have to test it for > stringness.
OTOH, some don't know enough to quote their string literals, so I think my point is well justified. > > --- > -Bill Hamilton -- http://mail.python.org/mailman/listinfo/python-list