문서에 따르면 이 둘은 거의 같은 의미라고 합니다. 둘 중 하나를 사용해야 하는 문체상의 이유가 있나요?
내가 좋아하는 큰따옴표 수립하였습니다 문장열 사용할 수 있는 작은 따옴표 보간점이나 사용되는 메시지, 자연 언어 뜻대로 포함할 경우 소규모 같은 기호 문장열 않지만, 만약 내가 문장열 인용 부호 또는 삭제. 내가 사용하는 경우에도 닥스트링스 위한 리터럴 문자열 정기 및 기초형상 트리플 큰따옴표 표현식에서는 aren& # 39, t 필요하다.
예를 들면 다음과 같습니다.
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
공식 문서를 인용해 http://support. https://docs.python.org/2.0/ref/strings.html:
>. 분명 (영어: 리터럴 문자열 일치 따옴표 (& # 39;) 에서 인클로우저된 수 있습니다. 또는 큰따옴표 (").
그래서 차이가 없습니다. 대신 어떤 스타일을 선택할 수 있는 사람은 말할 수 있으며 일관됨 , 일치시킵니다 컨텍스트로. 동의 및 추가 무의미한 것이 꼭 이래야겠어요 시도하시려면 마련에 " conventions"; 이 때문에, 모든 신입사원들은 그런 정렬하려면 you& # 39 위로 ll 끝날 것이다.
내가 '& # 39, & # 39 포지셔닝하십시오 데 사용되는' 를 중심으로 ', & # 39, & # 39, & # 39, & # 39, docstrings& # 39, 내가 찾을 수 있다', ',',,, 이로 인해 일부 fluff" " " " " ". 또한 '& # 39, 수 없이 입력되었는지 < kbd> Shift< /kbd>;;;' 주요 on my 스위스 독일어 방식이다.
이후 트리플 평가 '를 사용하는 것으로,, 나는 " " " docstrings" 변경일 " " 맞게 [PEP 257],,' (http://www.python.org/dev/peps/pep-0257/).
I& # 39 m, [가] 와 [1]:
내가 서 있는 비즈니스 가치를 극대화할 식별자입니다 슬픔으로창백해지고 아웃해야 단일 말을 인용 보도했습니다. 그냥 서서 그 말을 한 나머지 사례를 발생합니까 전달자로써 일부 식별자입니다 방이요.
[1]: # 56190
가지고 있는 문자열에 하나가 포함되어 있으면 다른 하나를 사용해야 합니다. 예를 들어 당신은 이걸 할 수 있습니다
또는 그가 '안녕하세요'라고 말했습니다
와 같이요. 그 외에는 모듈 내, 패키지 내, 프로젝트 내, 조직 내에서 가능한 한 일관성을 유지해야 합니다.
C/C++로 작업하는 사람들이 코드를 읽을 경우(또는 해당 언어와 Python을 전환하는 경우) 한 글자 문자열에는 `'
를, 긴 문자열에는 '
를 사용하면 쉽게 전환할 수 있습니다. (교환할 수 없는 다른 언어를 따를 때도 마찬가지입니다).
제가 본 파이썬 코드는 &
보다 &
를 선호하는 경향이 있지만, 약간만 그렇습니다. 한 가지 예외는 제가 본 바로는 이것들
이 이것들
보다 훨씬 더 일반적이라는 점입니다.
흥미로운 것은 이 질문이예요 서브토픽 트리플 의견 제시 PEP) 에는 257 트리플 평가 문서 문장열. I did 빠른 검색 및 구글 코드에서 사용하는 것으로 확인 [triple 큰따옴표 에서 파이썬] [2] 은 [triple 작은 따옴표] [3] - 1.3M 로 약 10 배 이상 인기를 누리고 있다 vs 131K 구글 코드에서 indexe. 그래서 사람들에게 좀 더 친숙하게 될 가능성이 있는 경우에는 여러 줄로 코드를 사용하는 경우에는 트리플 큰따옴표.
[2]: http://www.google.com/codesearch = q = 22%, hl, lr = & lang% 3apython+ %22%22 en&? [3]: http://www.google.com/codesearch = q = 27%, hl, lr = & lang% 3apython+ %27%27 en&?
"If you're going to use apostrophes,
^
you'll definitely want to use double quotes".
^
이를 위해 간단한 이유, 난 항상 flfile. 큰따옴표 에서 바깥쪽인지가. Always
말 나온 김에, & # 39 리터럴 문자열 부풀리고 있는 효율적으로 만드는 무슨 소용이겠어요. # 39 이스케이프 문자를 사용할 경우, re 아포스트로피 표현하기 위해 you& 할 것입니다. 아니지만 코더 소설을 읽을 수 있습니까? # 39 는 상상할 수 없다, 내가 얼마나 고통스러운 can& 고교 영어 클래스 당신꺼에요!
Python 이 같은 일이 quote 를 사용합니다.
mystringliteral1="this is a string with 'quotes'"
mystringliteral2='this is a string with "quotes"'
mystringliteral3="""this is a string with "quotes" and more 'quotes'"""
mystringliteral4='''this is a string with 'quotes' and more "quotes"'''
mystringliteral5='this is a string with \"quotes\"'
mystringliteral6='this is a string with \042quotes\042'
mystringliteral6='this is a string with \047quotes\047'
print mystringliteral1
print mystringliteral2
print mystringliteral3
print mystringliteral4
print mystringliteral5
print mystringliteral6
이는 다음과 같은 결과가 출력됩니다.
<! - 언어: > 랑 없음 -;
this is a string with 'quotes'
this is a string with "quotes"
this is a string with "quotes" and more 'quotes'
this is a string with 'quotes' and more "quotes"
this is a string with "quotes"
this is a string with 'quotes'
>. 펄 (perl) 에 있는 작은 따옴표 사용할 경우, 다음과 같은 문자를 이스케이프할 변수 또는 t need to # 39 문자열으로 doesn& 보간하기 \n, \t, \r 등.
PHP 는 펄 (perl) 같은 차이가 있다. 작은 따옴표 해석할 수 있는 컨텐츠를 않습니다 (not even \n 변환되는), 반대로 큰따옴표 인쇄했습니다 com/go/4e6b330a_kr 포함할 수 있는 자신의 가치를 가질 수 밖에 없다.
나는 깜짝 픽셀이고 모두 최소화할 수 있다. 저는 보통 ',' & # 39 포지셔닝하십시오 최소화하기 위해 '가 아닌' " 픽셀입니다 있지만, 만약 문자열이어야 아포스트로피, 다시 최소화하므로 픽셀입니다. 그러나, 이 더 좋아요. ',' " " 닥슬링 대한 '& # 39, & # 39, & # 39 " 비해, 후자는' 때문에 비표준, 드물게, 따라서 놀라운 일입니다. I have a bunch of 문장열 사용할 경우 이제 어디서 ',' 위 " 호스트당 뿐만 아니라, & # 39 방정식입니다 도망칠 수 있는 '논리', ',' 난 과민반을을 " 항목이없습니다 유지하기 위해 계속 사용할 경우에만 최소화하므로 정합성의 깜짝.
아마도 픽셀 최소화 철학 다음과 같이 생각할 수 있습니다. 차라리 그 영어 문자 A B C '또는' AA BB 같았다 'CC'? 후자의 솔루션으로서의 폐기물 50% 의 않은 픽셀입니다.
'& # 39', '=' ".
'/' = '\' '='\
예:
f = open('c:\word.txt', 'r')
f = open("c:\word.txt", "r")
f = open("c:/word.txt", "r")
f = open("c:\\\word.txt", "r")
결과는 동일한
= > >; 아니, they& # 39, re 다릅니다. 이스케이프 문자를 하나의 백슬래시 했다. 방금 생기는 원인은 '예' 와 '\w aren& 운빨이야 아웃해야 \k 있는' t like ',' 또는 '# 39 유효함 이스케이프합니다 \t \n' 또는 ',' '또는' \"\
백 슬래시 (해석할 수 있고, 그들을 등) 를 사용할 경우 한 후, raw" " 사용해야 합니다. 구체화하십시오. & # 39 할 수 있는 'r' & # 39 넣어;; 문자열 앞에
im_raw = r'c:\temp.txt'
non_raw = 'c:\\temp.txt'
another_way = 'c:/temp.txt'
Windows 에서 슬래시 해석은 같은 방식으로, 멀리는 패스이므로 우려하고 있다. 분명한 구체화하십시오 자체가 다른 어쨌든요 # 39, 내가 이렇게 re 처리됩니까 they& wouldn& 장담할 수 없는 외부 장치를 어쨌든요 # 39.