Citations simples et doubles en Python : considérations de style
Bien que Python traite les guillemets simples et doubles de manière interchangeable, certaines préférences stylistiques pour en utiliser une plutôt que d'autres existent.
Interpolations et Naturel Langue
Pour les chaînes utilisées dans l'interpolation (par exemple, str.format() ou f-strings) ou les messages en langage naturel, les guillemets doubles sont souvent préférés. Ceci est particulièrement utile lorsque la chaîne contient à la fois des guillemets simples et doubles, car l'utilisation cohérente d'un seul type de guillemets permet d'éviter de confondre l'analyseur de chaîne.
Chaînes de type symbole
Pour les chaînes courtes ressemblant à des symboles (par exemple, les indicateurs d'option, les clés de dictionnaire), des guillemets simples sont souvent utilisés. Cela les différencie des chaînes de type langage et permet une reconnaissance rapide des données non textuelles.
Exceptions
Malgré ces préférences, des exceptions peuvent survenir. Si la chaîne contient le type de guillemet utilisé, le type opposé doit être utilisé pour maintenir la validité de la chaîne. Par exemple, si une chaîne contient plusieurs guillemets simples, elle doit être placée entre guillemets doubles.
Autres considérations
Pour les docstrings et les littéraux de chaîne brute (regex), triple Des guillemets doubles (""") sont généralement utilisés, même lorsqu'ils ne sont pas strictement nécessaires. Cela apporte une clarté visuelle et aide à éviter toute confusion avec les guillemets réguliers. expressions.
Exemple d'utilisation
# Dictionary with language-specific light messages LIGHT_MESSAGES = { 'English': "There are %(number_of_lights)s lights.", 'Pirate': "Arr! Thar be %(number_of_lights)s lights." } # Function to return light message in a specific language def lights_message(language, number_of_lights): """Return a language-appropriate string reporting the light count.""" return LIGHT_MESSAGES[language] % locals() # Function to check if a message sounds piratical def is_pirate(message): """Return True if the given message sounds piratical.""" return re.search(r"(?i)(arr|avast|yohoho)!", message) is not None
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!