Bartc wrote:
^^^^^
Please fix.

> On 06/11/2015 02:33, wa...@travelsky.com wrote:
>>      As you can see in the attachment, why i can modify "math.pi"?
>>      (in "mathmodule.c" "pi" is a "static const double")
> 
> Python isn't C.
> 
> Your attachment isn't visible, but it can be demonstrated easily:
> 
> import math
> 
> math.pi=0
> 
> print (math.pi)
> 
> In Python, presumably 'pi' is just another variable, and variables can
> be written to.

“pi” is the name of an attribute of the module object referred to by “math”.
 
> (Perhaps math.pi would be better off as a function.)

Perhaps not.  Calling a function includes an overhead that one does not want 
in already costly floating-point calculations.

In my opinion, mathematical constants should be implemented as constants 
(non-overwritable, non-deletable, throwing exceptions when attempting to do 
either) but apparently the authors of math.py disagree.

-- 
PointedEars

Twitter: @PointedEars2
Please do not cc me. / Bitte keine Kopien per E-Mail.
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to