Question about math.pi is mutable

wangq at travelsky.com wangq at travelsky.com
Sun Nov 8 19:52:42 EST 2015


Hi, Chris Angelico ,

    Thank you for your help !  :-)
 
From: Chris Angelico
Date: 2015-11-06 18:30
To: wangq at travelsky.com
CC: python-list
Subject: Re: Question about math.pi is mutable
On Fri, Nov 6, 2015 at 1:33 PM, wangq at travelsky.com <wangq at travelsky.com> wrote:
> Hello, python-list guys:
>
>     I am a newbie of python from Beijing. China.
>     I have a question about "math.pi".
>     As you can see in the attachment, why i can modify "math.pi"?
>     (in "mathmodule.c" "pi" is a "static const double")
>
> Thank you in advance!
>
> Best Wishes!
 
Simply because, in Python, virtually everything can be changed. You're
welcome to go in and say "math.pi = 3" if you like... and then you
accept the consequences of that.
 
There are times when you want to change these sorts of 'constants'.
For example, math.pi is a float; but if you're working with
decimal.Decimal everywhere, it might be useful to replace it with a
corresponding Decimal value:
 
math.pi = decimal.Decimal("3.14159265358979323")
 
And that's perfectly legal.
 
ChrisA
 


More information about the Python-list mailing list