Encontré el siguiente formato de encabezado para los archivos fuente de Python en un documento sobre las pautas de codificación de Python:
#!/usr/bin/env python
"""Foobar.py: Description of what foobar does."""
__author__ = "Barack Obama"
__copyright__ = "Copyright 2009, Planet Earth"
¿Es este el formato estándar de encabezados en el mundo de Python? ¿Qué otros campos / información puedo poner en el encabezado? Los gurús de Python comparten sus pautas para buenos encabezados de origen de Python :-)
Respuestas:
Todos sus metadatos para el
Foobar
módulo.El primero es el
docstring
del módulo, que ya se explica en la respuesta de Peter .Aquí tienes más información, lista
__author__
,__authors__
,__contact__
,__copyright__
,__license__
,__deprecated__
,__date__
y__version__
los metadatos como se reconoce.fuente
__version__
debe seguir directamente la cadena de documentación principal, con una línea en blanco antes y después. Además, es una buena práctica definir su juego de caracteres inmediatamente debajo del shebang -# -*- coding: utf-8 -*-
Estoy a favor de los encabezados de archivos mínimos, con lo que quiero decir solo
#!
línea) si este es un script ejecutablees decir. tres grupos de importaciones, con una sola línea en blanco entre ellos. Dentro de cada grupo, las importaciones se ordenan. El grupo final, las importaciones de origen local, pueden ser importaciones absolutas como se muestra o importaciones relativas explícitas.
Todo lo demás es una pérdida de tiempo, espacio visual y es activamente engañoso.
Si tiene renuncias legales o información de licencia, va en un archivo separado. No necesita infectar todos los archivos de código fuente. Su copyright debe ser parte de esto. Las personas deberían poder encontrarlo en su
LICENSE
archivo, no en código fuente aleatorio.Los metadatos, como la autoría y las fechas, ya los mantiene su control de origen. No es necesario agregar una versión menos detallada, errónea y desactualizada de la misma información en el archivo mismo.
No creo que haya otros datos que todos necesiten poner en todos sus archivos fuente. Es posible que tenga algún requisito particular para hacerlo, pero tales cosas se aplican, por definición, solo a usted. No tienen lugar en "encabezados generales recomendados para todos".
fuente
__version__
metadatos, y creo que es bueno tenerlos , ya que deberían ser accesibles para los programas y verificar rápidamente en el intérprete interactivo. Sin embargo, la autoría y la información legal pertenecen a un archivo diferente. A menos que tenga un caso de uso paraif 'Rob' in __author__:
Las respuestas anteriores son realmente completas, pero si desea un encabezado rápido y sucio para copiar y pegar, use esto:
Por qué esta es buena:
Ver también: https://www.python.org/dev/peps/pep-0263/
Si solo escribe una clase en cada archivo, ni siquiera necesita la documentación (iría dentro del documento de la clase).
fuente
Consulte también PEP 263 si está utilizando un conjunto de caracteres no ASCII
fuente