3 number and dot..
Steven D'Aprano
steve at REMOVE-THIS-cybersource.com.au
Fri Nov 2 13:54:56 EDT 2007
On Fri, 02 Nov 2007 16:39:12 +0000, Roberto Bonvallet wrote:
> On 31 oct, 22:21, Paul Rubin <http://phr...@NOSPAM.invalid> wrote:
>> def convert(n):
>> assert type(n) in (int,long)
>
> I'd replace this line with n = int(n), more in the spirit of duck
> typing.
Not necessarily. Something duck typing is too liberal in what it accepts.
You might want convert(math.pi) to raise an exception, although I'd
suggestion an assert is the wrong test. A better test would be an
explicit type check with raise:
if not isinstance(n, (int, long)):
raise TypeError('n not an integer')
assert is for "this can never happen" tests rather than type checking.
--
Steven.
More information about the Python-list
mailing list