Orden de importación de Python, mezcla de ... importar ... e importar ... (e importar ... como ...)
Este es el lío de las importaciones actualmente en la parte superior de mi archivo:
import argparse
from copy import deepcopy
from functools import cmp_to_key, partial
from itertools import chain
import math
from multiprocessing import Pool
import os
import re
from typing import Dict, List, Set, Tuple
import xml.etree.ElementTree as ET
from third_party import Tool
Los organicé alfabéticamente, por nombre de paquete (?).
Creo que se ve extremadamente feo.
¿Cuáles son las formas estándar de organizar esta sección?
PEP8 (que he leído) no es útil en este caso:
Las importaciones deben agruparse en el siguiente orden:
Importaciones de bibliotecas estándar.
Importaciones de terceros relacionadas.
Importaciones específicas de aplicaciones / bibliotecas locales.
Debe poner una línea en blanco entre cada grupo de importaciones.
Respuestas
Las importaciones deben agruparse en el siguiente orden:
Importaciones de bibliotecas estándar.
Importaciones de terceros relacionadas.
Importaciones específicas de aplicaciones / bibliotecas locales.
Debe poner una línea en blanco entre cada grupo de importaciones.python.org - pep-0008 - #importaciones
Pep8 también cita la guía de estilo GNU Mailman de Barry, que ofrece una guía de pedido más detallada:
Las importaciones deben agruparse, con el orden siguiente:
- importaciones que no son de origen para bibliotecas estándar y de terceros
- importaciones no procedentes de la aplicación
- de las importaciones de las bibliotecas estándar y de terceros
- de las importaciones de la aplicación
Las importaciones de origen deben seguir las importaciones no procedentes. Las importaciones con puntos deben seguir las importaciones sin puntos. Las importaciones sin puntos deben agruparse aumentando la longitud, mientras que las importaciones con puntos deben agruparse alfabéticamente.
Guía de estilo de codificación GNU Mailman
A lo largo de los años, he descubierto que lo más importante es lograr que todos los organicen de la misma manera. Porque a menudo las importaciones muy organizadas parecen un caos para aquellos que aún no saben cómo están organizadas.
Comience a usar isort , tiene buenos valores predeterminados. Y configúrelo para que se ejecute automáticamente al guardar en su IDE o como un gancho de confirmación previa para facilitar su vida.