반응형
질문
문서에 따르면, 두 가지는 거의 교환 가능합니다. 어느 것을 사용하는 것에 스타일적인 이유가 있나요?
답변
저는 보간이나 자연 언어 메시지에는 문자열 주위에 이중 따옴표를 사용하는 것을 좋아하고, 작은 기호와 같은 문자열에는 작은 따옴표를 사용하지만, 문자열에 따옴표가 포함되어 있거나 잊어버린 경우에는 이 규칙을 어기게 됩니다. docstring에는 삼중 이중 따옴표를 사용하고, 정규 표현식에는 필요하지 않더라도 raw string literal을 사용합니다.
예를 들면:
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
반응형
댓글