significa - si anidado en python
¿Por qué los números complejos en Python se denotan con ''j'' en lugar de ''i''? (4)
Sé que esto es una convención de ingeniería eléctrica, pero todavía me pregunto por qué se eligió para Python. No conozco otros lenguajes de programación con literales de números complejos, así que no tengo nada con qué comparar, pero ¿alguien sabe alguno que lo use?
Para responder "¿Alguien sabe algún [otros lenguajes de programación con literales de números complejos] que usen i?"
Sí, C ++ desde el estándar C ++ 14. Tienes que usar el espacio de nombres correcto sin embargo:
#include <complex>
using namespace std::complex_literals;
std::complex<double> z = 2 + 3i;
Parece ser, como lo has adivinado, porque Python sigue la convención de ingeniería eléctrica. Aquí hay un intercambio desde el rastreador de errores de Python Issue10562 :
Boštjan Mejak : En Python, la letra ''j'' denota la unidad imaginaria. Sería fantástico si siguiéramos las matemáticas en este sentido y permitiéramos que la unidad imaginaria se denote con una ''i''.
Michael Foord : Seguimos la ingeniería que usa j.
(Estaba a punto de cerrar esto como wontfix pero Antoine está particularmente interesado en que Mark se ocupe de este problema ...)
Mark Dickinson : Solo para agregar mis propios pensamientos: ''j'' para una (no la ) raíz cuadrada de -1 tiene, como señala Michael, una historia de uso en ingeniería (particularmente ingeniería eléctrica) y física. Personalmente, hubiera preferido ''i'' a ''j'' aquí, pero cambiarlo ahora causaría una ruptura gratuita (IMO). Realmente no parece un problema lo suficientemente grande como para que valga la pena hacer un escándalo.
...
Mucho más tarde:
Guido van Rossum : Esto no será arreglado. Por un lado, la letra ''i'' o mayúscula ''I'' se parecen demasiado a los dígitos. La forma en que se analizan los números mediante el analizador de idioma (en el código fuente) o las funciones integradas (int, float, complex) no debe ser localizable ni configurable de ninguna manera; Eso es pedir grandes decepciones en el camino. Si desea analizar números complejos con ''i'' en lugar de ''j'', ya tiene muchas soluciones disponibles.
Python adoptó la convención utilizada por los ingenieros eléctricos. En ese campo, i
se usa para representar actual y usa j
como la raíz cuadrada de -1.
Se registró un Issue10562 para cambiarlo a i
en Python 3.3. Se resolvió como un "WONTFIX" con este razonamiento de Guido van Rossum :
Esto no será arreglado. Por un lado, la letra ''i'' o mayúscula ''I'' se parecen demasiado a los dígitos. La forma en que se analizan los números mediante el analizador de idioma (en el código fuente) o mediante las funciones integradas (int, float, complex) no debe ser localizable o configurable de ninguna manera; Eso es pedir grandes decepciones en el camino. Si desea analizar números complejos con ''i'' en lugar de ''j'', ya tiene muchas soluciones disponibles.
j (no J) se usa en Ingeniería Eléctrica como se mencionó anteriormente. i para corriente: sí, tanto I (dc) como i (ac) se usan para corriente.