Single and Double Quotes in Python: Style Considerations
While Python treats single and double quotes interchangeably, some stylistic preferences for using one over the other exist.
Interpolations and Natural Language
For strings used in interpolation (e.g., str.format() or f-strings) or natural language messages, double quotes are often preferred. This is especially useful when the string contains both single and double quotes, as using one type of quote consistently helps avoid confusing the string parser.
Symbol-like Strings
For short, symbol-like strings (e.g., option flags, dictionary keys), single quotes are often used. This differentiates them from language-like strings and allows for quick recognition of non-textual data.
Exceptions
Despite these preferences, exceptions may arise. If the string contains the quote type being used, the opposite type must be employed to maintain string validity. For example, if a string contains multiple single quotes, it should be enclosed in double quotes.
Other Considerations
For docstrings and raw string literals (regex), triple double quotes (""") are typically used, even when not strictly necessary. This provides visual clarity and helps prevent confusion with regular expressions.
Example Usage
# 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
The above is the detailed content of Single vs. Double Quotes in Python: When Should I Use Which?. For more information, please follow other related articles on the PHP Chinese website!