我知道这是一个电气工程惯例,但我仍然想知道为什么它被选为Python.我不知道其他具有复数文字的编程语言,所以我没有任何可比较的东西,但有没有人知道任何使用我?
Bil*_*ard 36
正如您所猜测的那样,它似乎是因为Python遵循电气工程惯例.这是Python bug跟踪器Issue10562的交换:
BoštjanMeyak:在Python中,字母"j"表示虚构单位.如果我们在这方面遵循数学并且假想单位用'i'表示,那将是很好的.
Michael Foord:我们遵循使用j的工程.
(我即将关闭这个作为wontfix但是Antoine特别热衷于马克处理这个问题......)
马克狄金森:我想补充我自己的想法:"J"的一个(不的)-1平方根有,迈克尔指出,在工程使用的历史(特别是电气工程)和物理.就个人而言,我本来希望'我'到'j',但现在更改它会导致(IMO)无端破损.这真的不值得大惊小怪.
...
很久以后:
Guido van Rossum:这不会修复.首先,字母'i'或大写字母'I'看起来太像数字了.语言解析器(在源代码中)或内置函数(int,float,complex)解析数字的方式不应该是可本地化的或可以任何方式配置的; 那是在路上要求巨大的失望.如果你想用'i'而不是'j'来解析复数,你已经有了很多解决方案.
And*_*ndy 14
Python采用了电气工程师使用的惯例.在该字段中,i
用于表示当前并j
用作-1的平方根.
记录了一个错误,将其更改为i
Python 3.3.根据Guido van Rossum的推理,它被解析为"WONTFIX" :
这不会被修复.首先,字母'i'或大写字母'I'看起来太像数字了.语言解析器(在源代码中)或内置函数(int,float,complex)解析数字的方式不应该是可本地化的或可以任何方式配置的; 那是在路上要求巨大的失望.如果你想用'i'而不是'j'来解析复数,你已经有了很多解决方案.
要回答"有没有人知道任何[使用复数字文字的其他编程语言]使用i?"
是的,C++自C++ 14标准以来.您必须使用正确的命名空间:
#include <complex>
using namespace std::complex_literals;
std::complex<double> z = 2 + 3i;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
17185 次 |
最近记录: |