Importando un módulo: continuación
Observa el código en el editor. Analízalo cuidadosamente:
- La línea 01: lleva a cabo la importación selectiva.
- La línea 03: hace uso de las entidades importadas y obtiene el resultado esperado (
1.0
). - La línea 05 a la 11: redefine el significado de
pi
ysin
- en efecto, reemplazan las definiciones originales (importadas) dentro del namespace del código. - La línea 13: retorna
0.99999999
, lo cual confirma nuestras conclusiones.
Hagamos otra prueba. Observa el código a continuación:
pi = 3.14 # linea 01
def sin(x):
if 2 * x == pi:
return 0.99999999
else:
return None # linea 07
print(sin(pi/2)) # linea 09
from math import sin, pi # linea 12
print(sin(pi/2)) # linea 14
Aquí, se ha invertido la secuencia de las operaciones del código:
- Las líneas del 01 al 07: definen nuestro propio
pi
ysin
. - La línea 09: hace uso de ellas ( 0.99999999 aparece en pantalla).
- La línea 12: lleva a cabo la importación - los símbolos importados reemplazan sus definiciones anteriores dentro del namespace.
- La línea 14: retorna
1.0
como resultado.