扫码一下
查看教程更方便
SciPy 常量库提供了很多的常量,用于一般科学领域。
scipy.constants 常量库提供各种敞亮。我们必须导入所需的常量并根据要求使用它们。让我们看看这些常量是如何导入和使用的。
我们都知道圆周率是一个数学常数,首先,让我们使用以下示例来比较圆周率 pi 的值。
from scipy.constants import pi as spi
from math import pi as mpi
print("sciPy - pi = %.16f"%spi)
print("math - pi = %.16f"%mpi)
运行结果如下
sciPy - pi = 3.1415926535897931
math - pi = 3.1415926535897931
我们可以使用 dir() 函数来查看 constants 模块包含了哪些常量:
from scipy import constants
print(dir(constants))
执行以上代码,输出结果如下:
序号 | 常量 | 描述 |
---|---|---|
1 | pi | 圆周率 |
2 | golden | 黄金分割率 |
from scipy import constants
print(constants.golden)
输出结果如下
1.618033988749895
序号 | 常量 | 描述 |
---|---|---|
1 | c | 真空中的光速 |
2 | speed_of_light | 真空中的光速 |
3 | h | 普朗克常数 |
4 | Planck | 普朗克常数 |
5 | G | 牛顿万有引力常数 |
6 | e | 基本电荷 |
7 | R | 摩尔气体常数 |
8 | Avogadro | 阿伏伽德罗常数 |
9 | k | 玻尔兹曼常数 |
10 | electron_mass(OR) m_e | 电子质量 |
11 | proton_mass (OR) m_p | 质子质量 |
12 | neutron_mass(OR)m_n | 中字质量 |
from scipy import constants
print(constants.c)
print(constants.speed_of_light)
print(constants.h)
print(constants.Planck)
print(constants.G)
print(constants.e)
print(constants.R)
print(constants.Avogadro)
print(constants.k)
print(constants.m_e)
print(constants.m_p)
print(constants.m_n)
执行结果如下
299792458.0
299792458.0
6.62607004e-34
6.62607004e-34
6.67408e-11
1.6021766208e-19
8.3144598
6.022140857e+23
1.38064852e-23
9.10938356e-31
1.672621898e-27
1.674927471e-27
序号 | 常量 | 值 |
---|---|---|
1 | milli | 0.001 |
2 | micro | 1e-06 |
3 | kilo | 1000 |
这些单位的范围从 yotta、zetta、exa、peta、tera ……kilo、hector、……nano、pico……一直到 zepto。
from scipy import constants
print(constants.yotta)
print(constants.zetta)
print(constants.exa)
print(constants.peta)
print(constants.tera)
print(constants.giga)
print(constants.mega)
print(constants.kilo)
print(constants.hecto)
print(constants.deka)
print(constants.deci)
print(constants.centi)
print(constants.milli)
print(constants.micro)
print(constants.nano)
print(constants.pico)
print(constants.femto)
print(constants.atto)
print(constants.zepto)
执行结果如下
1e+24
1e+21
1e+18
1e+15
1e+12
1000000000.0
1000000.0
1000.0
100.0
10.0
0.1
0.01
0.001
1e-06
1e-09
1e-12
1e-15
1e-18
1e-21
下表列出了 SciPy 中使用的其他重要常量。
序号 | 常量 | 描述 |
---|---|---|
1 | gram | 0.001 kg |
2 | atomic_mass | 原子质量常数 |
3 | degree | 弧度 |
4 | minute | 一分钟的秒数 |
5 | day | 一天的秒数 |
6 | inch | 一米对应的英寸数 |
7 | micron | 一米的微米数 |
8 | light_year | 以米为单位的一光年 |
9 | atm | 以帕斯卡为单位的标准大气 |
10 | acre | 以平方米为单位的一亩 |
11 | liter | 以立方米为单位的一升 |
12 | gallon | One gallon in cubic meters |
13 | kmh | 千米每小时以米每秒为单位 |
14 | degree_Fahrenheit | 开尔文中的一华氏度 |
15 | eV | 以焦耳为单位的 1 电子伏特 |
16 | hp | 16 |
17 | dyn | 以牛顿为单位的一达因 |
18 | lambda2nu | 将波长转换为光频 |
from scipy from constants
print(constants.gram)
print(constants.atomic_mass)
print(constants.degree)
print(constants.minute)
print(constants.day)
print(constants.inch)
print(constants.micron)
print(constants.light_year)
print(constants.atm)
print(constants.acre)
print(constants.liter)
print(constants.gallon)
print(constants.kmh)
print(constants.degree_Fahrenheit)
print(constants.eV)
print(constants.hp)
print(constants.dyn)
print(constants.lambda2nu(constants.speed_of_light))
执行结果如下
0.001
1.66053904e-27
0.0174532925199
60.0
86400.0
0.0254
1e-06
9.46073047258e+15
101325.0
4046.8564224
0.001
0.003785411784
0.277777777778
0.555555555556
1.6021766208e-19
745.699871582
1e-05
1.0
要想记住上面这么多的常量也是比较困难的。获取哪个键对应哪个函数的简单方法是使用scipy.constants.find()
方法。
from scipy.constants import find, physical_constants
res = find("boltzmann")
print(res)
运行结果如下
['Boltzmann constant', 'Boltzmann constant in Hz/K', 'Boltzmann constant in eV/K', 'Boltzmann constant in inverse meter per kelvin', 'Stefan-Boltzmann constant']
在上面的结果中,我们看到boltzmann中包含很多常量,我们获取 Boltzmann constant in Hz/K
常量
from scipy.constants import find, physical_constants
res = physical_constants['Boltzmann constant in Hz/K']
print(res)
执行结果如下
(20836619120.0, 'Hz K^-1', 0.0)