首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Python中的复数用'j‘而不是'i’来表示?

为什么Python中的复数用'j‘而不是'i’来表示?
EN

Stack Overflow用户
提问于 2014-07-17 19:59:34
回答 7查看 44.5K关注 0票数 76

我知道这是一个电气工程会议,但我仍然想知道为什么它被选择为Python。我不知道其他具有复数文字的编程语言,所以我没有什么可与之比较的,但是有谁知道使用i吗?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2014-07-17 20:11:40

正如您所猜测的,它似乎是因为Python遵循电气工程惯例。这里是Python跟踪器Issue10562的一个交换

Boštjan Mejak:在Python中,字母'j‘表示假想单位。如果我们在这方面跟随数学,让想象的单位用'i‘来表示,那就太好了。 Michael :我们遵循使用j的工程方法。 (我本打算以仙人掌的名义结束这件事,但安托万特别希望马克处理这个问题.) Mark :只是想补充一下我自己的想法:“J”代表-1的平方根(不是-1的平方根),正如Michael指出的那样,它在工程(特别是电气工程)和物理学中的使用历史。就我个人而言,我宁愿在这里使用“我”而不是“j”,但现在改变它将导致(国际海事组织)无端的破坏。这似乎并不是一个值得大惊小怪的大问题。

..。

很久以后:

Guido van Rossum:这不会被修复。首先,字母'i‘或大写'I’看上去太像数字了。无论是由语言解析器(在源代码中)还是由内置函数(int、float、complex)解析数字的方式,都不应该是可本地化的或以任何方式配置的;这意味着今后会有巨大的失望。如果您想使用'i‘而不是'j’来解析复数,那么您已经有了很多可用的解决方案。

票数 64
EN

Stack Overflow用户

发布于 2014-07-17 20:09:23

Python采用了电气工程师使用的惯例。在该字段中,i用于表示当前,并使用j作为-1的平方根。

在Python3.3中,有一个错误将其更改为i。根据吉多范罗苏姆的推理,它被解析为"WONTFIX“。

这件事不能解决。首先,字母'i‘或大写'I’看上去太像数字了。无论是由语言解析器(在源代码中)还是由内置函数(int、float、complex)解析数字的方式,都不应该是可本地化的或以任何方式配置的;这意味着今后会有巨大的失望。如果您想使用'i‘而不是'j’来解析复数,那么您已经有了很多可用的解决方案。

票数 16
EN

Stack Overflow用户

发布于 2016-05-30 13:53:22

要回答“有谁知道其他使用i的复数文字的编程语言吗?”

是的,C++从C++14标准开始。但是,您必须使用正确的命名空间:

代码语言:javascript
复制
#include <complex>
using namespace std::complex_literals;

std::complex<double> z = 2 + 3i;
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24812444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档