[Python] 파이썬 출력 함수 - print()

728x90
반응형

 

 

 

 

 


 

들어가며

Python을 공부 하면서 그때마다의 내용을 정리하고, 복습해보려고 합니다. 전반적으로 내용을 정리해서 작성하는게 아니여서 중복된 내용이 작성될 수 있습니다. 참고해주세요.

 

 

 

 

 

print()

 

print ( * objects , sep = ' ' , end = '\n' , file = None , flush = False )

print 메소드는 위와 같은 인자를 가지고 있습니다. 

 

객체를 텍스트 스트림 파일 에 인쇄하며, sep 로 구분 하고 end 가 뒤에 옵니다.

sep , end , file 및 flush 는 키워드 인수로 제공되어야 합니다.

키워드가 아닌 모든 인수는 str()  같은 문자열로 변환되고 스트림에 기록되며 sep 로 구분되고 뒤에 end 가 옵니다.

sep 와 end는 모두 문자열이어야 합니다. None의 경우 기본 값의 사용을 의미합니다.

file 인수는 write(string) 메서드 가 있는 객체여야 합니다. None 또는 값을 제공하지 않는 경우 sys.stdout을 사용합니다.

인쇄된 인수는 텍스트 문자열로 변환되기 때문에 print()는 바이너리 모드 파일 객체와 함께 사용할 수 없습니다. 이를 위해 file.write(...)를 대신 사용하십시오.

출력이 버퍼링되는지 여부는 일반적으로 파일에 의해 결정되지만 flush 키워드 인수가 true이면 스트림이 강제로 플러시됩니다.

버전 3.3에서 변경: flush 키워드 인수를 추가했습니다 .

 

 

 

 

 

기본 print() 출력 샘플

 

print("Hello world")
print("My Name is \"Jeff\"")
print('My Name is "Jeff"')
print("My Name is 'Jeff'")
print("My Name is " + "Jeff")
print(1, 2, 3, 4, 5)
Hello world
My Name is "Jeff"
My Name is "Jeff"
My Name is 'Jeff'
My Name is Jeff
1 2 3 4 5

 

 

 

 

 

sep, end  인자값을 이용한 출력

 

 

print(1, 2, 3, 4, 5, sep=" : ", end=",")
1 : 2 : 3 : 4 : 5,

중간의 구분되는 문자열을 sep 인자로 설정 할 수 있으며, end 인자로는 출력의 마지막 문자열을 설정 할 수 있습니다. 

 

 

 

 

file 인자값의 이용

 

with open('test.txt', 'w') as file:
    print('Hello World!', file=file)

file 인자값을 이용할 경우, 위에서 언급한 대로, 표준출력이 아닌, 파일에 해당

 

 

 

 

 

flush 인자값의 이용

 

대부분의 입력의 경우 buffer의 영역에 데이터가 입력이 되고, 일정양, 혹은 일정 시간동안 보관된 buffer 의 내용이 화면에 노출이 되게 됩니다. flush의 인자값을 사용할 경우, buffer에 보관하지 말고 바로 출력하라는 의미로 해석 될 수 있습니다. 

해당 내용을 어떻게 샘플링 할 수 있을까 했는데, 다른 블로그 분이 샘플링 한게 있어서 URL을 참조 영역에 첨부 하오니 참고 부탁드립니다. 

 

import time
for i in range(10):
    print(i, end=' ', flush=False)
    time.sleep(0.1)

해당 인자가 False의 경우에는 한번에 화면에 출력되지만, True 일 경우에는 0 ~ 9까지 순차적으로 표기됩니다. 

 

 

 

 

참조

https://docs.python.org/3/library/functions.html?highlight=print#print 

https://velog.io/@janeljs/python-print-sep-end-file-flush

 

 

 

 

END


 

 

 

 

 

728x90