To learn more about constants, check out Python Constants: Improve Your Code’s Maintainability.
Constants of the math Module
We’ll start by taking a look at the constants defined in the
math module defines five constants. Perhaps the most famous constant in mathematics is pi. The symbol that’s given to the numerical value of pi is the Greek letter π.
00:18 The value of pi is around 3.141592. It’s an irrational number, and so the number of digits continue on forever with no predictable pattern. The value of pi is a sort of universal constant in the sense that if you take any circle and you take its circumference and divide it by the diameter, you’re always going to get the value of pi. Now, in Python 3.6, the constant tau was introduced, and this is the value of 2 times pi. Perhaps the next most famous constant in mathematics is Euler’s number.
00:56 This is usually given the letter e, and e is around 2.718281. This is also an irrational number, so the number of decimal digits continues on forever with no predictable pattern.
01:10 e comes up a lot when you’re working with problems that involve exponential growth and decay, and it comes up also a lot in calculus and in compound interest.
We’ll take a look at an example involving decay in a future lesson. Then there are another two constants in the
math module that are not technically numerical values, but more of conceptual values.
The first one is the infinity constant, which is denoted by
inf constant is there to encapsulate the mathematical concept of something that’s boundless or never-ending. Sometimes in an algorithm, what you’ll want to do is compare a given value to some sort of absolute maximum or minimum, and this is where the
inf comes in.
The other conceptual type of constant is
nan is there to represent the idea of Not a Number. This comes up sometimes when you’re doing a numerical computation and maybe your data gets corrupted in some way, or you do an invalid mathematical computation—like, say, dividing by zero—then a lot of programming languages will return a value of
nan, or Not a Number.
02:20 All right, let’s take a look at these constants.
First things first, go ahead and import the
math module. Let’s take a look at the
pi constant, and we’ve also got Euler’s number, and we’ve got
Let’s work through an example showing why you would want to use the constants in the
math module. We’ll do this for
pi, but similar ideas will apply to the other constants.
02:54 Let’s suppose you have a sheet of material that has a radius of 5 feet. Then, you know back from grade school that the area of the sheet would then be pi times the radius squared.
03:11 So the area is around 78.53. Let’s suppose instead that you computed the area, say, just using 3.14.
03:24 So the area using 3.14—about 78.5, which is just this value rounded to the first decimal place. Now let’s suppose that you needed to buy a lot of these sheets, and the price that you need to pay per square foot of the sheet is, say, 39 dollars and 49 cents.
Let’s define the cost per square foot of the sheet, 39 dollars and 49 cents. So if you compute the cost of the sheet using the cost per square feet times the area of the sheet obtained by computing the area using the built-in
pi constant from the
math module, and if you compute the cost using, again, the cost per square feet—but this time using the area computed by using just
3.14—the difference now is 1 dollar and 57 cents. Not a huge difference, but already we see that there’s a non-trivial difference when using an approximation to pi of 3.14 instead of using the value that comes in with the
math module. Now, things will get worse if, for example, you have a lot of sheets to buy.
If you needed to buy 10,000 of these sheets, then the cost that you’re underestimating in what you’d have to pay to buy all 10,000 sheets is $15,723. So this is just a quick example of why you would want to use the built-in constant
pi in the
math module if you were going to do any type of computations involving pi.
Let’s now take a look at
inf. I’ll let you explore
nan on your own time. So,
inf, again, is
inf constant in the
math module was introduced as an equivalent to the
float('inf') value. So in the
float constructor, if you pass in a value of
'inf'—this is going to be equivalent to the
Whether you’re using the
float('inf') value or the
math.inf value provided in the
math module, they both represent the concept of infinity.
So, for example, if you compare the
math.inf value with, say, the maximum size of a floating-point number, which is 1 times 10 to the power of 308, you’re going to get
If you multiply the
math.inf value by -1, then you’re going to get the concept of negative infinity, and this is less than the largest negative float value that you can store. And so in this case, again, you’re going to get
Now, to make it clear that this
math.inf constant is not really a numerical value but more like a concept, if you add to
math.inf a value, say, of
1, and you ask whether that is greater than
math.inf itself, you’re going to get
False. So again, the idea there is that
math.inf is not there to really represent a numerical value, but more like a concept of boundlessness, or “without end.”
Those are the constants that are contained in the
math module. Coming up next, we’re going to take a look at some of the built-in arithmetic functions that are in the
Become a Member to join the conversation.