How to check if a string "is" an int?
iddw at hotmail.com
Wed Dec 21 16:35:43 CET 2005
On Thu, 22 Dec 2005 01:41:34 +1100 in comp.lang.python, Steven
D'Aprano <steve at REMOVETHIScyber.com.au> wrote:
>Well, let's find out, shall we?
>A small but consistent speed advantage to the try...except block.
>Having said all that, the speed difference are absolutely trivial, less
>than 0.1 microseconds per digit. Choosing one form or the other purely on
>the basis of speed is premature optimization.
Or maybe on which actually works. LBYL will fail to recognize
negative numbers, e.g.
test = '15'
print LBYL(test), JDI(test) #-> 15 15
test = '-15'
print LBYL(test), JDI(test) #-> 0 -15
>But the real advantage of the try...except form is that it generalises to
>more complex kinds of data where there is no fast C code to check whether
re: Generalization, apropos a different thread regarding the %
operator on strings. In Python, I avoid using the specific type
format conversions (such as %d) in favor of the generic string
conversion (%s) unless I need specific field width and/or padding or
other formatting, e.g.
for p in range(32):
v = 1<<p
print "%2u %#010x : %-d" % (p,v,v)
Change is inevitable, progress is not.
More information about the Python-list