On Fri, 03 Nov 2006 18:38:33 -0800, Rares Vernica wrote: > Hi, > > I am not sure how the constants are implemented in math,
>>> import math >>> math.__file__ '/usr/lib/python2.4/lib-dynload/mathmodule.so' Looks like it is all done in C. It's probably just a binding to your platform's C floating point library. But regardless of where they come from, constants like pi are just regular Python names and objects. >>> math.pi 3.1415926535897931 >>> math.pi = 3 >>> math.pi 3 So not "real" constants, just constant-by-convention. Whether you call that a feature or a wart is up to you. But if you want actual constants that can't be re-bound, then look at this recipe: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/65207 Keep in mind that this carries a performance penalty. > but here is how > I would do it. The main idea is to declare the constants as globals in > some file. > > Declare all the constants in a file: > const.py > --- > pi = 3.14 > > Whenever you want to use pi from another file, just do: > somecode.py > --- > from const import pi Or just import const and refer to const.pi. That's arguably clearer, although again there is a tiny performance cost. -- Steven. -- http://mail.python.org/mailman/listinfo/python-list