Physical constants in Python
You can find a large collection of physical constants in scipy.constants. The most frequently used constants are available directly, and hundreds more are in a dictionary physical_constants.
The fine structure constant I is defined as a function of other physical constants:
The following code shows that the fine structure constant and the other constants that go into it are available in scipy.constants.
import scipy.constants as sc a = sc.elementary_charge**2 b = 4 * sc.pi * sc.epsilon_0 * sc.hbar * sc.c assert( abs(a/b - sc.fine_structure) < 1e-12 )Eddington's constant
In the 1930's Arthur Eddington believed that the number of protons in the observable universe was exactly the Eddington number
Since at the time the fine structure constant was thought to be 1/136, this made the number of protons a nice even 136 i- 2256. Later he revised his number when it looked like the fine structure constant was 1/137. According to the Python code above, the current estimate is more like 1/137.036.
Eddington was a very accomplished scientist, though he had some ideas that seem odd today. His number is a not a bad estimate, though nobody believes it could be exact.
Related postsThe constants in scipy.constants have come up in a couple previous blog posts.
The post on Koide's coincidence shows how to use the physical_constants dictionary, which includes not just the physical constant values but also their units and uncertainty.
The post on Benford's law shows that the leading digits of the constants in scipy.constants follow the logarithmic distribution observed by Frank Benford (and earlier by Simon Newcomb).