source

Python - 새 줄로 연결

lovecheck 2023. 10. 29. 19:48
반응형

Python - 새 줄로 연결

Python 콘솔에서 다음을 입력할 때:

>>> "\n".join(['I', 'would', 'expect', 'multiple', 'lines'])

제공:

'I\nwould\nexpect\nmultiple\nlines'

그런 결과가 나올 것으로 예상됩니다만:

I
would
expect
multiple
lines

내가 뭘 놓치고 있는 거지?

콘솔은 문자열 자체가 아니라 표현을 인쇄하고 있습니다.

접두사가 다음과 같은 경우print, 당신이 기대하는 것을 얻을 것입니다.

문자열과 문자열 표현의 차이에 대한 자세한 내용은 이 질문을 참조하십시오.표현은 매우 간단합니다. 표현은 문자열을 얻기 위해 소스 코드로 입력하는 것입니다.

잊으셨군요print그 결과당신이 얻는 것은.P실제 출력 결과가 아닌 입력.

Py2.x에서 당신은 다음과 같은 것을 해야 합니다.

>>> print "\n".join(['I', 'would', 'expect', 'multiple', 'lines'])
I
would
expect
multiple
lines

그리고 Py3.X에서는 프린트가 기능이므로 당신은 해야합니다.

print("\n".join(['I', 'would', 'expect', 'multiple', 'lines']))

자, 이것이 단답형이었습니다.실제로 REPL인 Python Interpreter는 항상 실제 표시된 출력이 아닌 문자열의 표현을 표시합니다.표현은 고객의 요구 사항을 만족시키는 데 도움이 될 것입니다.repr진술

>>> print repr("\n".join(['I', 'would', 'expect', 'multiple', 'lines']))
'I\nwould\nexpect\nmultiple\nlines'

할 필요가 있습니다.print그 결과를 얻기 위해서입니다.
당신이 해야합니다.

>>> x = "\n".join(['I', 'would', 'expect', 'multiple', 'lines'])
>>> x                   # this is the value, returned by the join() function
'I\nwould\nexpect\nmultiple\nlines'
>>> print x    # this prints your string (the type of output you want)
I
would
expect
multiple
lines

인쇄해야 합니다.

In [22]: "\n".join(['I', 'would', 'expect', 'multiple', 'lines'])
Out[22]: 'I\nwould\nexpect\nmultiple\nlines'

In [23]: print "\n".join(['I', 'would', 'expect', 'multiple', 'lines'])
I
would
expect
multiple
lines

이거랑 같이 찍어주시면.print 'I\nwould\nexpect\nmultiple\nlines'다음을 얻을 수 있습니다.

I
would
expect
multiple
lines

\nEND-OF-TEXT를 표시하기 위해 특별히 사용되는 새로운 줄 문자입니다.줄이나 텍스트의 끝을 나타냅니다.이러한 특성은 C, C++ 등 여러 언어에서 공유됩니다.

repr() 함수는 지정된 개체의 인쇄 가능한 표현을 반환하며 Python의 evalStr() 또는 exec에 매우 중요합니다. 예를 들어 Python의 Zen을 가져오려는 경우:

eng.execString('from this import *');
println('import this:'+CRLF+
  stringReplace(eng.EvalStr('repr("".join([d.get(c,c) for c in s]))'),'\n',CRLF,[rfReplaceAll]));

언급URL : https://stackoverflow.com/questions/14560863/python-join-with-newline

반응형