문서에 따르면, 그들은 거의 상호 교환 가능합니다. 다른 것을 사용하는 문체 적 이유가 있습니까?
답변
보간에 사용되거나 자연 언어 메시지 인 작은 따옴표와 같은 문자열에 작은 따옴표를 사용하고 싶지만 문자열에 따옴표가 있거나 잊어 버린 경우 규칙을 위반합니다. 필요하지 않더라도 docstring에는 삼중 큰 따옴표를 사용하고 정규 표현식에는 원시 문자열 리터럴을 사용합니다.
예를 들면 다음과 같습니다.
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
답변
https://docs.python.org/2.0/ref/strings.html 에서 공식 문서 인용 :
일반 영어 : 문자열 리터럴은 작은 따옴표 ( ‘) 또는 큰 따옴표 ( “)로 묶을 수 있습니다.
따라서 차이가 없습니다. 대신 사람들은 상황에 맞는 스타일을 선택 하고 일관성을 유지하도록 지시합니다 . 그리고 나는 동의합니다-당신이 새로운 이민자를 혼란스럽게 할 것이므로 이런 종류의 일에 대해 “수녀원”을 생각해내는 것은 무의미하다고 덧붙입니다.
답변
내가 선호하는 데 사용 '
특히 위해, '''docstrings'''
내가 발견하면, """this creates some fluff"""
. 또한 스위스 독일어 키보드 '
의 Shift키 없이 입력 할 수 있습니다 .
이후 PEP 257"""docstrings"""
을 준수하기 위해 삼중 따옴표를 사용하도록 변경했습니다 .
답변
나는 윌과 함께 있습니다.
- 텍스트에 대한 큰 따옴표
- 식별자처럼 행동하는 모든 것에 대한 작은 따옴표
- 정규 표현식에 대한 큰 따옴표로 묶인 원시 문자열 리터럴
- 문서화 문자열에 대한 삼중 큰 따옴표
나는 그것이 많은 탈출을 의미하더라도 그것을 고수 할 것입니다.
따옴표로 인해 작은 따옴표로 묶은 식별자 중에서 가장 큰 가치를 얻습니다. 나머지 관행은 작은 따옴표로 묶은 식별자에 서있는 방을 제공하기 위해 있습니다.
답변
가지고있는 문자열에 하나가 포함되어 있으면 다른 것을 사용해야합니다. 예를 들어, "You're able to do this"
또는 'He said "Hi!"'
. 그 외에는 모듈 내, 패키지 내, 프로젝트 내, 조직 내에서 가능한 한 일관성이 있어야합니다.
C / C ++로 작업하는 사람들이 코드를 읽을 경우 (또는 해당 언어와 Python간에 전환하는 경우) ''
단일 문자 문자열을 사용하고 ""
긴 문자열을 사용하면 전환이 쉬워 질 수 있습니다. (교환 할 수없는 다른 언어를 따르는 것과 마찬가지로).
나는 야생에서 본 적이 파이썬 코드를 선호하는 경향이 "
이상 '
하지만 약간. 한 가지 예외는 내가 본 """these"""
것보다 훨씬 흔 '''these'''
합니다.
답변
삼중 인용 주석은이 질문의 흥미로운 하위 주제입니다. PEP 257은 doc 문자열에 삼중 따옴표를 지정합니다 . 나는 Google 코드 검색을 사용하여 빠른 검사를하고 있음을 발견 파이썬에서 트리플 따옴표가 인기로 10 배에 관하여이다 삼중 따옴표 – 코드 구글의 색인에서 131K 발생 대 1.3M. 따라서 멀티 라인의 경우 트리플 더블 따옴표를 사용하면 코드가 사람들에게 더 친숙 할 것입니다.
답변
"If you're going to use apostrophes,
^
you'll definitely want to use double quotes".
^
그 간단한 이유로 나는 항상 큰 따옴표를 외부에 사용합니다. 항상
보풀에 대해 말하면, 아포스트로피를 나타 내기 위해 이스케이프 문자를 사용해야하는 경우 ‘로 문자열 리터럴을 간소화하는 것이 무엇입니까? 소설을 읽는 것이 코더를 불쾌하게합니까? 고등학교 영어 수업이 얼마나 고통 스러웠는지 상상할 수 없습니다!