gpt4 book ai didi

python - 复数的 `j` 后缀如何工作?我可以制作自己的后缀吗?

转载 作者:太空宇宙 更新时间:2023-11-04 02:22:30 25 4
gpt4 key购买 nike

我知道什么是复数以及它们在数学上是如何工作的,但是 python 是如何做到的知道它是复杂的,只需在 a 之后加上一个 j数字?

>>> j
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'j' is not defined
>>> 1*j
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'j' is not defined
>>> 1j
1j
>>> 1j**2
(-1+0j)

我可以创建自己的后缀吗,比方说 p(严格肯定)?

我可以做这样的事情吗?

>>> ... some weird stuff here ...
>>> p
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'p' is not defined
>>> 1*p
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'p' is not defined
>>> -1p
1p
>>> 0p
1p
>>>

最佳答案

这是内置于 Python 语法中的,就像小数点或科学记数法中的 e(1e10 等)一样。 j 使数字文字变为虚数。

Python 不允许您更改此设置。这并不意味着您不能——您可以修改语法——但这样语言就不再是 Python。

Python 中允许的最接近的近似是通过实现一个运算符。

>>> class StrictlyPositive:
def __rmatmul__(self, number):
return abs(number)


>>> p = StrictlyPositive()
>>> -1@p
1

但是在执行此类操作时必须注意运算符的优先级。为什么不直接使用内置的 abs

关于python - 复数的 `j` 后缀如何工作?我可以制作自己的后缀吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51225355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com