这很奇怪。看起来像Python解释为(1+1)j.imag
,但为什么?不应该是1+(1j).imag
或(1+1j).imag
?Python:`1 + 1j ==(1 + 1j)`但是`1 + 1j.imag == 2`,为什么?
1
A
回答
5
它将它解释为1+(1j.imag)
,因为attribute access has a higher precedence than addition。
3
1j
是一个复数字面值。像Python中的其他文字一样,您可以调用其中的方法并访问其字段。 "hello".upper()
将是一个字符串文字的类似例子。
因此,1j
是一个复数(type(1j)
返回<class 'complex'>
)。 1j.imag
正在访问该号码的imag
属性;该属性的值是(非复数)1.
1 + 1 = 2。
1
这并不是因为蟒而由于复数数学如何是但。
当您访问(1J).imag =>你正在阅读的1J的虚部,其为1。 因此它的1 + 1 = 2。
1 + 1J是1实+ 1假想。
希望它有帮助。
0
1+1j
= (1) + (1j)
1+1j.imag
= (1) + (1j.imag)
这是完全一致的。
相关问题
- 1. 的Python:为什么cmath.exp(1J * math.pi)给出了答案-1 + 1.2246063538223773e-16J,但不是简单-1
- 2. 为什么(1 + 1)和1返回1而不是2?
- 3. Common Lisp为什么(列表+ 1 2)评估为('(+ 1 2)1 2)
- 4. 为什么是1 -2
- 5. 为什么-1 >> 1是-1?而1 >> 1是0!
- 6. PYTHON - [1:-1]的输出是什么
- 7. 什么是COUNT(*)%2 = 1
- 8. 蟒蛇:是什么+ = 1 = + 1
- 9. 为什么1的补-2
- 10. 为什么1 +++ 2 = 3?
- 11. -2 <1 = false。为什么?
- 12. 为什么字符串[1 ..- 1]的工作,但不串[-3..1]
- 13. 为什么[1,[2,3] = [1,[2,3]]
- 14. 为什么“1”等于“+1”?
- 15. (-1 >> 1)== -1 - 为什么?
- 16. 为什么2 + 1&0结果是0?
- 17. 1 + 1/2 + 1/3 + - + 1/n =?
- 18. JavaScript输出“1” - - “1”是2怎么样?
- 19. python模为什么是1-4%5不一样(1-4)%5
- 20. 1 ==(int)0.5 * 2 => false,1 ==((int)0.5 * 2)=> true,为什么?
- 21. 为什么1 :: 2 :: []和[1; 2]在OCaml中的==不一样?
- 22. 为什么在Java和C中-1%26 = -1,为什么它在Python中是25?
- 23. 为什么1 && 2返回2?
- 24. 为什么FrameLength是-1?
- 25. 为什么hasLayout总是-1?
- 26. MongoDB为什么id是-1?
- 27. `return 1 + strlen_rec(&arr [1]);`是什么意思?
- 28. 什么是移动(+1)和移动(-1)?
- 29. 为什么(1 >> 0x80000000)== 1?
- 30. 为什么1!= 1返回true?
它没有办法将它视为'(1 + 1)j',这甚至不是有效的。 'j'不是后缀运算符,它是文字的一部分 - '1j'是一个单一的记号,一个原子,是Python语法的不可分割的构建石。 – delnan 2012-03-04 04:15:04