728x90
반응형
질문 : 긴 여러 줄 문자열을 만드는 Pythonic 방법
매우 긴 쿼리가 있습니다. 파이썬에서 여러 줄로 나누고 싶습니다. JavaScript에서이를 수행하는 방법은 여러 문장을 사용하고 +
연산자로 결합하는 것입니다 (가장 효율적인 방법은 아닐 수도 있지만이 단계에서 성능에 대해서는 신경 쓰지 않습니다. 코드 가독성 만 있습니다. ). 예:
var long_string = 'some text not important. just garbage to' +
'illustrate my example';
파이썬에서 비슷한 것을 시도했지만 작동하지 않았으므로 \
를 사용하여 긴 문자열을 분할했습니다. 그러나 이것이 유일하고 / 최고 / 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/pythonic-way-to-create-a-long-multi-line-string
728x90
반응형
'프로그래밍 언어 > Python' 카테고리의 다른 글
Python 셀레니움 - Geckodriver executable needs to be in PATH. (0) | 2022.03.29 |
---|---|
Python에서 쿼리 문자열을 urlencode하는 방법 (0) | 2022.03.29 |
파이썬 __init__와 self 의 의미 (0) | 2022.03.26 |
파이썬에서 && (AND 논리 연산자) 를 사용하는 방법 (0) | 2022.03.26 |
[Python 3] pip를 설치하는 방법 (0) | 2022.03.26 |