본문 바로가기
파이썬

파이썬 긴 여러 줄 문자열을 만드는 Pythonic 방법

by º기록 2021. 2. 16.
반응형

매우 긴 쿼리가 있습니다. 파이썬에서 여러 줄로 나누고 싶습니다. 자바 스크립트에서이를 수행하는 방법은 여러 문장을 사용하고 + 연산자로 결합하는 것입니다. 이 단계에서는 코드 가독성). 예:

var long_string = 'some text not important. just garbage to' +
                  'illustrate my example';

Python에서 비슷한 작업을 시도했지만 작동하지 않았으므로 \ 를 사용하여 긴 문자열을 분할했습니다. 그러나 이것이 유일하고 / 최고 / pythonic 한 방법인지 확실하지 않습니다. 어색해 보인다. 실제 코드 :

query = 'SELECT action.descr as "action", '    'role.id as role_id,'    'role.descr as role'    'FROM '    'public.role_action_def,'    'public.role,'    'public.record_def, '    'public.action'    'WHERE role.id = role_action_def.role_id AND'    'record_def.id = role_action_def.def_id AND'    'action.id = role_action_def.action_id AND'    'role_action_def.account_id = ' + account_id + ' AND'    'record_def.account_id=' + account_id + ' AND'    'def_id=' + def_id

 

해결 방법

 

여러 줄 문자열에 대해 이야기하고 있습니까? 쉽게 시작하고 끝낼 때 세 개의 따옴표를 사용하십시오.

s = """ this is a very
        long string if I had the
        energy to type more and more ..."""

작은 따옴표도 사용할 수 있으며 (물론 시작과 끝에 3 개) 결과 문자열 s 를 다른 문자열과 마찬가지로 처리 할 수 ​​있습니다.

참고 : 모든 문자열과 마찬가지로 시작 및 끝 따옴표 사이에있는 모든 항목이 문자열의 일부가되므로이 예에는 선행 공백이 있습니다 (@ root45에서 지적 됨). 이 문자열은 또한 공백과 개행을 모두 포함합니다.

즉 :

' this is a very\n        long string if I had the\n        energy to type more and more ...'

마지막으로 다음과 같이 Python에서 긴 줄을 구성 할 수도 있습니다.

 s = ("this is a very"
      "long string too"
      "for sure ..."
     )

추가 공백이나 줄 바꿈을 포함하지 않습니다 (공백 건너 뛰기의 결과를 보여주는 의도적 인 예).

'this is a verylong string toofor sure ...'

쉼표가 필요하지 않습니다. 결합 할 문자열을 한 쌍의 괄호로 묶고 필요한 공백과 줄 바꿈을 고려하십시오.

 

참조 페이지 https://stackoverflow.com/questions/10660435

 

 

반응형

댓글