2013-08-17 6 views
2

삼중 따옴표 문자열이 docstring으로 사용된다는 것을 알고 있지만 실제로 두 개의 문자열 리터럴이 있어야합니까?파이썬에서 멀티 라인 및 싱글 라인 문자열 리터럴을 갖는 이점은 무엇입니까?

단일 행 & 다중 행 사이를 식별하는 것이 유용한 경우가 있습니까?

in Clojure 우리는 1 개의 문자열 리터럴을 가지고 있고 여러 줄로되어 있으며 우리는 그것을 docstring으로 사용합니다. 왜 파이썬의 차이점이 있습니까?

답변

2

아마도 가장 좋은 예와 함께 설명된다 리터럴 여러 줄 문자열을 만드는 방법에 대해 명시해야하는 장점 :

with open("filename.ext) as f: 
    for line in f: 
     print(line.upper()) 

물론, 어떤 점잖은 구문 강조 편집기가 잡을 것이다, 그러나 :

  1. 그것은 항상 당신이
  2. 파이썬은 당신이 사용을 무엇 편집기에 대한 관리 권한이없는 구문 강조 편집기를 사용하고있는 경우가 아니다. 파이썬의 설계 원칙의

  • 오류가 자동으로 통과 결코해야하고,
  • 명시 적 암시보다 낫다.

외부 문서 문자열에서는 여러 줄 문자열이 거의 Python에서 사용되지 않으므로 여러 줄 문자열이 필요하지만 명시 적으로 잊어 버린 경우보다 위 예제가 훨씬 쉽게 발생할 수 있습니다. 트리플 맺음으로써 그렇게 말하십시오.

파이썬이 중요한 공백을 사용하는 것과 비슷합니다. 일관된 들여 쓰기 연습을 사용하면 오류가 훨씬 쉽게 캐치되는 것을 의미합니다. 중괄호로 구분 된 언어.

+0

물론, StackOverflow조차도이 실수를 눈치 채고 모든 것을 문자열로 강조 할만큼 충분히 똑똑합니다. :) – hobbs

+0

@hobbs 물론, 항상 구문 강조를 사용할 수는 없습니다 ... –

+1

아니요, 99.99 %) – hobbs