PEP 238 (revised)

Tom Jenkins tjenkins at
Thu Jul 26 21:51:36 EDT 2001

Guido van Rossum wrote:


> PEP: 238
> Title: Non-integer Division
> Version: $Revision: 1.10 $
> Author: pep at (Moshe Zadka), guido at (Guido van Rossum)

> Command Line Option
>     The -D command line option takes a string argument that can take
>     three values: "old", "warn", or "new".  The default is "old" in
>     Python 2.2 but will change to "warn" in later 2.x versions.  The
>     "old" value means the classic division operator acts as described.
>     The "warn" value means the classic division operator issues a
>     warning (a DeprecatinWarning using the standard warning framework)
>     when applied to ints or longs.  The "new" value changes the
>     default globally so that the / operator is always interpreted as
>     true division.  The "new" option is only intended for use in
>     certain educational environments, where true division is required,
>     but asking the students to include the future division statement
>     in all their code would be a problem.

I'm wondering if these command line options are too "generic" and not 
explicit enough.  Possibly
give more information as to what the options mean?


> Semantics of Floor Division
>     Floor division will be implemented in all the Python numeric
>     types, and will have the semantics of
>         a // b == floor(a/b)
>     except that the type of a//b will be the type a and b will be
>     coerced into.  Specifically, if a and b are of the same type, a//b
>     will be of that type too.

I'm not sure I understand this part.  Could you throw in an example? 
Does it mean that if 'a' and 'b' are floats then a//b would return a 
float?  For example 3.5//2.0 == 1.0?



More information about the Python-list mailing list