我正在尝试从scipy.constants.physical_constants
导入electron volt-joule relationship
用于数值物理问题。这可能是一个非常简单的问题,或者是对physical_constants字典的误解,但在谷歌上搜索了2个小时后,我仍然不知所措。
我试过了from scipy.constants.physical_constants import electron volt_joule relationship
我也试过import scipy.constants.physical_constants["electron volt-joule relationship"]
它产生File "<ipython-input-22-7c2fb3ec2156>", line 3 import scipy.constants.physical_constants["electron volt-joule relationship"] ^ SyntaxError: invalid syntax
我是否误解了这些物理常数的用法?从scipy.org文档中,我看到它们的形式为physical_constants[name] =(value,unit,uncertainty)
这样我就能print(scipy.constants.physical_constants["electron volt-joule relationship"])
为了能返回(1.602176634e-19, 'J', 0.0)
但甚至import scipy.constants.physical_constants
返回错误
ModuleNotFoundError Traceback (most recent call last)
<ipython-input-21-b4d34ca28080> in <module>
----> 1 import scipy.constants.physical_constants
ModuleNotFoundError: No module named 'scipy.constants.physical_constants'
这个常量库是否充满了可以引用的值、单位和不确定性,但实际上并不用于计算的值?
2条答案
按热度按时间uqjltbpv1#
看起来原创者的import语句格式不正确。要访问常量,请包含以下import语句:
然后,要访问特定常量,请尝试:
如果找不到scipy包,可以使用以下命令添加它:
a8jjtwal2#
因为
'electron volt_joule relationship'
是python字典scypy.constants.physical_constants
中的一个键,所以它不能被导入,而整个字典可以被导入。作为例子,让我们加载scipy.constants
和physical_constants
,还有astropy.constants
:请注意:
返回值:
<class 'module'> <class 'module'> <class 'dict'>
。您还可以使用函数dir
来研究syc
、ayc
和pyc
的内容,或者将其简化为一个lambda函数,我喜欢调用tab
,定义如下:tab(pyc)
将返回python字典的属性和方法,如dict.keys()
和dict.values()
。在pyc.keys()
中有一个名为'electron volt_joule relationship'
的属性和方法,它与所有pyc
的内容或键一样,返回一个元组,包含此定义的值、单位和不确定性:因此v是一个值,u是物理单位,uc是不确定度。
将打印关系:
请注意,根据scipy,这个定义没有不确定性。还要注意,syc下面直接有一个eV:
它恰好在数值上等于一个电子的电荷的绝对值(密立根在1909年首次测量),或称基本电荷,单位为库隆布,也表示为
syc.elementary_charge
。在我们以astropy
为例的例子中,ayp
是一个特殊的类,它给出了物理单位和常数值。要了解它,只需在jupyter笔记本中键入ayc.e
,例如:以及:
将给予:
因此在
ayc.e
下还有其他重要的属性:我们可以看到,根据
astropy
,有一个小的不确定性与电荷的基本单位有关,它毕竟必须与定义的eV与J关系的不确定性有关。