python – 在品脱中,如何将微观符号重新定义为μ-,而不是u-?
发布时间:2020-12-20 13:09:20 所属栏目:Python 来源:网络整理
导读:在 pint 中,如何重新定义要拼写的微前缀μ-而不是u-?两者在定义单位时都是别名,但是当获得短符号(例如使用{:?}格式规范)时,即使我尝试重新定义micro = 1e-6 =μ-,pint也会恢复为u-: In [155]: ureg.define("micro- = 1e-6 = μ-")WARNING 2016-01-06 15:1
在
pint 中,如何重新定义要拼写的微前缀μ-而不是u-?两者在定义单位时都是别名,但是当获得短符号(例如使用{:?}格式规范)时,即使我尝试重新定义micro = 1e-6 =μ-,pint也会恢复为u-:
In [155]: ureg.define("micro- = 1e-6 = μ-") WARNING 2016-01-06 15:19:07,017 unit._adder:563: Redefining 'micro' (<class 'pint.definitions.PrefixDefinition'>) WARNING 2016-01-06 15:19:07,017 unit._adder:563: Redefining 'μ' (<class 'pint.definitions.PrefixDefinition'>) (请注意,这些警告显然是通过日志记录模块发出的,并且由于我的.pythonrc中的规则而显示,logging.basicConfig(format =(“%(levelname)-8s%(asctime)s%(module)s.% (funcName)s:%(lineno)s:%(message)s“),level = logging.DEBUG)) In [156]: x = 3 * ureg.micrometre In [157]: ureg._get_symbol("micrometer") Out[157]: 'um' In [158]: "{:~}".format(x) Out[158]: '3 um' 如何重新定义注册表中的微观条目,使“{:?}”.format(x)会给我3微米而不是3微米? 编辑 我正在使用最新git存储库中的pint: In [161]: print(pint.__version__) 0.7.dev0 编辑2 只有存在以前定义的使用u-前缀的数量时,才会出现这种情况: In [3]: ureg = pint.UnitRegistry() In [4]: q = 12 * ureg.um In [5]: ureg.define("micro- = 1e-6 = μ-") WARNING 2016-01-06 15:41:25,477 unit._adder:563: Redefining 'micro' (<class 'pint.definitions.PrefixDefinition'>) WARNING 2016-01-06 15:41:25,477 unit._adder:563: Redefining 'μ' (<class 'pint.definitions.PrefixDefinition'>) In [6]: x = 3 * ureg.micrometre In [7]: "{:~}".format(x) Out[7]: '3 um' 但是(新会议): In [7]: x = 3 * ureg.micrometre In [8]: "{:~}".format(x) Out[8]: '3 μm' 所以我想在使用u-alias之前重新定义默认需求. 解决方法
您需要在使用之前重新定义μ-前缀(无疑更方便输入)u-前缀:
In [2]: ureg = pint.UnitRegistry() In [3]: ureg.define("micro- = 1e-6 = μ-") In [4]: x = 3 * ureg.um In [5]: print("{:~}".format(x)) 3 μm 但(其他会议): In [3]: x = 3 * ureg.um In [4]: ureg.define("micro- = 1e-6 = μ-") In [5]: print("{:~}".format(x)) 3 um (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |