PEP 238 (revised)

Tom Jenkins tjenkins at nospiced.ham.devis.com
Fri Jul 27 03:51:36 CEST 2001


Guido van Rossum wrote:

[snip]

> 
> PEP: 238
> Title: Non-integer Division
> Version: $Revision: 1.10 $
> Author: pep at zadka.site.co.il (Moshe Zadka), guido at python.org (Guido van Rossum)
> 
[snip]

> 
> 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
  -Dold_division
  -Dwarn_division
  -Dnew_division
give more information as to what the options mean?

[snip]

> 
> 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?

[snip]


Tom




More information about the Python-list mailing list