수색…


인쇄 기본 사항

파이썬 3 이상에서는 print 가 키워드가 아닌 함수입니다.

print('hello world!')
# out: hello world!

foo = 1
bar = 'bar'
baz = 3.14

print(foo)    
# out: 1
print(bar)    
# out: bar
print(baz)
# out: 3.14

print 할 매개 변수를 여러 개 전달할 수도 print .

print(foo, bar, baz)
# out: 1 bar 3.14

여러 매개 변수를 print 하는 또 다른 방법은 +

print(str(foo) + " " + bar + " " + str(baz))
# out: 1 bar 3.14

그러나 여러 매개 변수를 인쇄 할 때 + 를 사용할 때 조심해야 할 것은 매개 변수의 유형이 동일해야한다는 것입니다. 첫 번째 string 캐스팅하지 않고 위의 예제를 인쇄하려고하면 문자열 "bar" 숫자 1 을 추가하고 숫자 3.14 에 추가하려고하므로 오류가 발생합니다.

# Wrong:
# type:int  str  float
print(foo + bar + baz)
# will result in an error

이는 print 내용이 먼저 평가되기 때문입니다.

print(4 + 5)
# out: 9
print("4" + "5")
# out: 45
print([4] + [5])
# out: [4, 5]

그렇지 않으면, + 사용하면 사용자가 변수 출력을 읽는 데 매우 도움이 될 수 있습니다. 아래 예에서 출력은 읽기가 쉽습니다!

아래의 스크립트는 이것을 보여줍니다.

import random 
#telling python to include a function to create random numbers
randnum = random.randint(0, 12) 
#make a random number between 0 and 12 and assign it to a variable
print("The randomly generated number was - " + str(randnum))

end 매개 변수를 사용하여 print 기능이 개행 문자를 자동으로 인쇄하지 못하게 할 수 있습니다.

print("this has no newline at the end of it... ", end="")
print("see?")
# out: this has no newline at the end of it... see?

파일에 쓰려면 매개 변수 file 로 전달하면됩니다.

with open('my_file.txt', 'w+') as my_file:
    print("this goes to the file!", file=my_file)

이것은 파일로 간다!

인쇄 매개 변수

텍스트 만 인쇄하는 것 이상을 할 수 있습니다. print 에는 여러 매개 변수가 있습니다.

인수 sep : 인수 사이에 문자열을 sep 습니다.

쉼표 또는 다른 문자열로 구분 된 단어 목록을 인쇄해야합니까?

>>> print('apples','bannas', 'cherries', sep=', ')
apple, bannas, cherries
>>> print('apple','banna', 'cherries', sep=', ')
apple, banna, cherries
>>>

인수 end : end 줄 바꿈 이외의 것을 사용하십시오.

end 인수가 없으면 모든 print() 함수는 한 줄을 쓴 다음 다음 줄의 시작 부분으로 이동합니다. 아무것도하지 않으려면 (빈 문자열 인 ''을 사용) 또는 두 개의 개행을 사용하여 단락 사이에 간격을 두 번 변경하십시오.

>>> print("<a", end=''); print(" class='jidn'" if 1 else "", end=''); print("/>")
<a class='jidn'/>
>>> print("paragraph1", end="\n\n"); print("paragraph2")
paragraph1

paragraph2
>>>

인수 file : 출력을 sys.stdout이 아닌 다른 곳으로 보냅니다.

이제 stdout, file 또는 StringIO로 텍스트를 보낼 수 있으며 주어진 텍스트를 신경 쓸 필요가 없습니다. 파일처럼 거꾸로 쓰면 파일처럼 작동합니다.

>>> def sendit(out, *values, sep=' ', end='\n'):
...     print(*values, sep=sep, end=end, file=out)
... 
>>> sendit(sys.stdout, 'apples', 'bannas', 'cherries', sep='\t')
apples    bannas    cherries
>>> with open("delete-me.txt", "w+") as f:
...    sendit(f, 'apples', 'bannas', 'cherries', sep=' ', end='\n')
... 
>>> with open("delete-me.txt", "rt") as f:
...     print(f.read())
... 
apples bannas cherries

>>>

강제적으로 스트림을 flush 하는 네 번째 매개 변수 flush 가 있습니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow