print() 함수
1. 기본 사용법
`print()` 함수는 다음과 같은 형식으로 사용합니다.
1) 기본 출력
print(value1, value2, ...)
# value1 value2 ...
`value1, value2, ...` 출력하고자 하는 값입니다.
여러 개의 값들을 쉼표(,)로 구분을 합니다.
각 값은 공백으로 구분되어 출력됩니다.
2) sep 사용하기
print('hello', 'python', sep='^^')
# hello^^python
`sep=' 내용 '`은 선택적 매개변수이며, 값들 사이에 출력될 구분자입니다.
기본값은 공백(` `)입니다.
3) and 사용하기
print('hello python', and='hi')
# hello python hi
print('hello', and=' ')
print('python')
# hellow python
`and=' 내용 '은 선택저 매개변수이며, 문장의 마지막에 사용되며 문자, 이스케이프문자 등을 사용합니다.
기본값은 줄바꿈(\n) 입니다.
여기서 이스케이프문자(escape character)란?
특정한 의미를 가지고 있는 특수 문자입니다.
파이썬에서는 역슬래시(\)를 이용하여 이스케이프 문자를 표현합니다.
이스케이프 문자를 사용하면 일반적으로 문자열 내에서 특정한 기능을 수행하거나 특수한 문자를 표현할 수 있습니다.
- `\n`: 줄 바꿈을 나타내는 문자입니다.
- `\t`: 탭 문자를 나타내는 문자입니다.
- `\'`: 작은 따옴표를 나타내는 문자입니다.
- `\''`: 큰 따옴표를 나타내는 문자입니다.
- `\\`: 역슬래시 자체를 나타내는 문자입니다.
예시
print("Hello\nWorld") # 줄 바꿈
# Hello
# World
print("Hello\tWorld") # 탭 문자
# Hellow World
print('I\'m Python') # 작은 따옴표
# I'm Python
print("He said, \"Hello!\"") # 큰 따옴표
# He said, "Hello!"
print("C:\\path\\to\\file") # 역슬래시
# C:\path\to\file
이처럼 이스케이프 문자를 사용하면 특정한 기능을 수행하거나 특수한 문자를 문자열에 포함시킬 수 있습니다.
이스케이프 문자는 문자열을 다룰 때 유용하게 사용되므로, 파이썬 프로그래밍에서 자주 사용됩니다.
4) file 사용하기
`file`도 선택적 매개변수입니다.
`print(file=sys.stdout)` 은 `print()` 함수에서 출력을 `sys.stdout` 파일 객체로 전달하는 방법을 지정하는 것입니다.
`sys.stdout`은 파이썬에서 기본적으로 제공되는 표준 출력 파일 개게를 나타냅니다.
기본적으로 `print()` 함수는 file 매개변수를 생략하고 호출하면 출력이 표준 출력으로 전송됩니다.
따라서 `print('Hello, world!')와 같이 file 매개변수를 명시하지 않고 호출하면 텍스트가 표준 출력에 표시됩니다.
그러나 `print()` 함수를 사용하여 출력을 다른 파일 객체로 전송하려면 file 매개변수에 해당 파일 객체를 전달해야 합니다.
`print(file=sys.stdout)`를 사용하면 명시적으로 표준 출력으로 출력을 보낼 수 있습니다.
import sys
# 파일에 출력
with open('output.txt', 'w') as file:
print('Hello, world!', file=file)
# 표준 출력으로 출력
print('Hello, world!', file=sys.stdout)
위 코드에서 첫 번째 예시에서는 `print()` 함수를 사용하여 'Hello, world!'를 'output.txt' 파일에 출력합니다.
두 번째 예시에서는 `print()` 함수를 사용하여 동일한 텍스트를 표준 출력으로 출력합니다.
`file=sys.stdout`를 사용하여 표준 출력으로 전달됩니다.
5) flush 사용하기
`flush`도 선택적 매개변수입니다.
`print(flush=False)`는 `print()` 함수에서 출력 버퍼를 비우지 않도록 지정하는 것을 의미합니다.
파이썬에서 `print()` 함수는 출력을 버퍼에 모아둔 후에 한 번에 출력합니다.
이는 출력 속도를 향상시키고 효율성을 높이는 데 도움이 됩니다.
기본적으로 `print()` 함수는 출력을 버퍼에 모은 후에 자동으로 버퍼를 비웁니다.
하지만 `flush=False`를 사용하면 출렭 버퍼를 비우지 않도록 지정할 수 있습니다. 이를 통해 출력을 버퍼에 모아둔 채로 더 많은 작업을 수행한 후에 한꺼번에 출력할 수 있습니다.
import time
print('준비...', flush=True)
time.sleep(2) # 2초간 대기
print('처리...', flush=False)
time.sleep(2) # 2초간 대기
print('완료!', flush=True)
위 코드에서 첫 번째 `print()`문에서는 `flush=True`를 사용하여 `준비...`을 출력하고 버퍼를 즉시 비웁니다.
그 다음 `tume.sleep(2)`를 통해 2초 동안 대기합니다.
두 번째 `print()` 문에서는 `flush=False`를 사용하여 `처리...`을 출력하고 버퍼를 비우지 않은 채로 유지합니다.
다시 2초 동안 대기한 후, 마지막 `print()` 문에서 `flush=True`를 사용하여 `완료!`을 출력하고 버퍼를 비웁니다.
2. formatted string을 사용한 출력
※ Python 3.6 이상의 버전에서 사용할 수 있습니다.
print('{} + {} = {}'.format(1, 2, 3)) # 문자열 템플릿
# 1 + 2 = 3
x = 1
y = 2
print(f'{x} + {y} = {x + y}') #''앞에 f를 쓰면 formatted string이 된다.
# 1 + 2 = 3
# 연산이 가능합니다.
`print(f'{내용}')`를 사용이 가능하며 `print()` 안에서 연산이 가능합니다.
3. ipynb 노트북에서의 콘솔 출력.
1. 식(expression) : 값(value), 변수, 연산, 함수 호출합니다.
1). x, x + y, print()
2). 함수 호출은 식이 될 수 도있고, 문장이 될 수 도있습니다.
2. 문장(statement) : 코드의 최소 실행 단위.
1). z = x + y
3. ipynb 노트북 코드셀에서 가장 마지막 줄에 있는 문장이 식(expression)이면, 그 식을 평가한 결과를 큰솔에 출력해 줍니다.
1). 마지막 줄에서는 `print()`함수를 호출하지 않아도 출력됩니다.
잘못된 정보는 댓글로 알려주시면 감사하겠습니다.
'Python' 카테고리의 다른 글
Python - 6. for문, while문 반복문과 break, continue (Iteration, while, break, continue) (0) | 2023.07.08 |
---|---|
Python - 5. 파이썬 if문, if-else문 조건문(if, else, chained conditional) (0) | 2023.07.07 |
Python - 4. 파이썬 자료 타입 (0) | 2023.07.06 |
Python - 2. 텍스트 사용 및 파이썬 버전 확인, 코드셀 실행 방법 (0) | 2023.07.04 |
Python - 1. Google Drive로 Python 실행하기. (0) | 2023.07.03 |