扫码一下
查看教程更方便
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)