[Tutor] Why begin a function name with an underscore

Richard D. Moores rdmoores at gmail.com
Tue Aug 28 10:06:37 CEST 2012


On Tue, Aug 28, 2012 at 12:13 AM, Jerry Zhang <jerry.scofield at gmail.com> wrote:
>
>
> 2012/8/28 Richard D. Moores <rdmoores at gmail.com>
>
>> On Mon, Aug 27, 2012 at 6:33 PM, Japhy Bartlett <japhy at pearachute.com>
>> wrote:
>>
>> > something like:
>> >
>> > def _validate_int(obj):
>> >     """Raise an exception if obj is not an integer."""
>> >     m = int(obj + 0)  # May raise TypeError.
>> >     if obj != m:
>> >         raise ValueError('expected an integer but got %r' % obj)
>> >
>> >
>> > is a really awkward way to test if something's an integer, and checking
>> > types in general is usually a sign of larger flaws in laying out useful
>> > code.
>>
>> What the best way to test if something's an integer?
>
>
>>>>a = 4
>>>>isinstance(a, int)
> True

>>> isinstance(3., int)
False

What if I wanted 3., 1234., etc. to be considered ints, as they are by
_validate_int()  ?

Dick


More information about the Tutor mailing list