Comillas simples versus comillas dobles en Python [cerrado]
Según la documentación, son prácticamente intercambiables. ¿Existe alguna razón estilística para utilizar uno sobre el otro?
Me gusta usar comillas dobles alrededor de cadenas que se usan para interpolación o que son mensajes en lenguaje natural, y comillas simples para cadenas pequeñas con forma de símbolos, pero romperé las reglas si las cadenas contienen comillas o si lo olvido. Utilizo comillas dobles triples para cadenas de documentación y literales de cadena sin formato para expresiones regulares, incluso si no son necesarias.
Por ejemplo:
LIGHT_MESSAGES = {
'English': "There are %(number_of_lights)s lights.",
'Pirate': "Arr! Thar be %(number_of_lights)s lights."
}
def lights_message(language, number_of_lights):
"""Return a language-appropriate string reporting the light count."""
return LIGHT_MESSAGES[language] % locals()
def is_pirate(message):
"""Return True if the given message sounds piratical."""
return re.search(r"(?i)(arr|avast|yohoho)!", message) is not None
Citando los documentos oficiales en https://docs.python.org/2.0/ref/strings.html :
En términos sencillos: los literales de cadena se pueden encerrar entre comillas simples (') o dobles (").
Entonces no hay diferencia. En cambio, la gente le dirá que elija el estilo que coincida con el contexto y que sea coherente . Y estoy de acuerdo, añadiendo que no tiene sentido tratar de crear "convenciones" para este tipo de cosas porque sólo terminarás confundiendo a los recién llegados.
Solía preferirlo '
, especialmente por '''docstrings'''
lo que encuentro """this creates some fluff"""
. Además, '
se puede escribir sin la Shifttecla de mi teclado alemán suizo.
Desde entonces he cambiado al uso de comillas triples """docstrings"""
para cumplir con PEP 257 .