Question about math.pi is mutable

2015-11-06 Thread wa...@travelsky.com
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!
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Re: Question about math.pi is mutable

2015-11-09 Thread wa...@travelsky.com
Hi, Chris Angelico ,

Thank you for your help !  :-)
 
From: Chris Angelico
Date: 2015-11-06 18:30
To: [email protected]
CC: python-list
Subject: Re: Question about math.pi is mutable
On Fri, Nov 6, 2015 at 1:33 PM, [email protected]  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
 
-- 
https://mail.python.org/mailman/listinfo/python-list