Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

385
Visualizações
¿Qué es la importación relativa implícita de Python?

En PEP 8 -- Guía de estilo para código Python

Las importaciones relativas explícitas son una alternativa aceptable a las importaciones absolutas

Las importaciones relativas implícitas nunca deben usarse y se han eliminado en Python3.

¿Qué es la importación relativa implícita de Python?

La importación implícita es un algoritmo.

Busque desde el directorio del paquete actual hasta que se encuentre el padre del paquete final.
-- Dehttps://www.python.org/dev/peps/pep-0328/#rationale-for-relative-imports

¿Alguien puede explicarlo en detalle?

¿Eliminado en Python3?

 python2 -c 'import csv; print(csv)' <module 'csv' from '/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/csv.pyc'> $ touch csv.py $ python2 -c 'import csv; print(csv)' <module 'csv' from 'csv.pyc'> # In python3 still search from current package $ python3 -c 'import csv; print(csv)' <module 'csv' from '/path_to/csv.py'>

¿Por qué pep-0008 sugiere no usarlo nunca?

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Cuando tu dices:

 import foo

Python 2 buscaría primero en el directorio de la persona que llama. Python 3 no hará eso, y solo encontrará foo en los lugares habituales como sys.path ( PYTHONPATH , site-packages , etc.).

Esto significa que si está escribiendo un paquete compatible con Python 3, debe decir esto dentro de su paquete:

 import mypkg.foo

O use una importación relativa explícita:

 from . import foo
over 4 years ago · Santiago Trujillo Relatório

0

en python3, su código solo funciona porque python3 agrega el directorio principal del módulo python que llama a sys.path

no funcionará si usa un submódulo y usa la importación relativa implícita desde el submódulo.

 mkdir -p smod touch smod/csv.py echo 'import csv; print(csv)' > smod/__init__.py python3 -c 'import smod; print(smod)' <module 'csv' from '</path/to>/lib/python3.9/csv.py'> <module 'smod' from '/<home>/test/smod/__init__.py'>
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda