Development Tip

Python 강좌 01 - print()

MoonLight314 2024. 12. 22. 23:14
728x90

안녕하세요, MoonLight입니다.

Python 강좌를 진행해 보고자 합니다.

총 12개 분량으로 진행할 예정이며, 기본적인 개념 설명과 함께 예제를 풀어보면서 익히는 과정으로 해보고자 합니다.

풀어볼 예제는 '초보자를 위한 파이썬 300제'를 이용해 보겠습니다.

 

https://wikidocs.net/book/922

 

초보자를 위한 파이썬 300제

파이썬 기초 문법을 배웠다고 해서 누구나 프로그래밍에 익숙해지는 것은 아닙니다. 프로그래밍에 익숙해지기까지 많은 문제를 풀어보고 익숙해지는 것이 필요합니다. 파이썬 300제는 파…

wikidocs.net

 

이번 강좌는 Python의 print문에 대해서 알아보겠습니다.

 

1. 기본 사항

 

Python의 print() 함수는 콘솔에 텍스트나 변수를 출력하는 데 사용됩니다. Python의 기본 제공 함수 중 하나로, 유연하고 다양한 기능을 제공합니다.

 

1.1. 기본 문법

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

 

매개변수 설명

objects:

출력할 값을 여러 개 전달할 수 있습니다. 여러 값을 쉼표로 구분하면 공백(sep의 기본값)으로 연결되어 출력됩니다.

예: print(1, 2, 3) → 1 2 3

sep:

출력할 값 사이에 삽입할 문자열을 지정합니다. 기본값은 ' '(공백)입니다.

예: print(1, 2, 3, sep=',') → 1,2,3

end:

출력이 끝난 후 추가로 출력할 문자열을 지정합니다. 기본값은 '\n'(줄바꿈)입니다.

예: print("Hello", end="!") → Hello!

file:

출력 대상을 지정합니다. 기본값은 sys.stdout(콘솔). 파일로 출력하려면 파일 객체를 전달합니다.

예:

with open('output.txt', 'w') as f:

print("Hello, File!", file=f)

flush:

출력 버퍼를 강제로 비울지 여부를 지정합니다. 기본값은 False이며, 필요시 True로 설정합니다.

실시간 출력이 필요할 때 사용합니다.

 

1.2. 기본 사용법

문자열 출력

print("Hello, World!") 

출력: 
Hello, World!

변수 출력

name = "Alice" 
age = 25 
print("Name:", name, "Age:", age) 

출력: 
Name: Alice Age: 25

sep와 end 사용

print("Apple", "Banana", "Cherry", sep=", ", end="!") 

출력: 
Apple, Banana, Cherry!

 

 

1.3. 다양한 데이터 출력

List, Tuple 등을 출력할 수 있습니다.

fruits = ["Apple", "Banana", "Cherry"] 
print(fruits) 

출력: 
['Apple', 'Banana', 'Cherry']

딕셔너리 출력

data = {"name": "Alice", "age": 25} 
print(data) 

출력: 
{'name': 'Alice', 'age': 25}

 

1.4. 문자열 포맷팅과 print()

f-string(Formatted String Literals)

Python 3.6 이상에서 사용할 수 있는 문자열 포매팅 방식으로, 직관적이고 간결한 문법이 특징입니다.

문자열 앞에 f 또는 F를 붙이고, 중괄호 {}를 사용해 변수를 직접 삽입합니다.

특징

    • 문자열 내에 표현식(변수, 수식 등)을 바로 삽입 가능.
    • 가독성이 좋고 코드가 간결.
    • 런타임에서 평가되므로 복잡한 표현식도 처리 가능.
name = "Alice" 
age = 25 
print(f"My name is {name} and I am {age} years old.") 

출력: 
My name is Alice and I am 25 years old.

 

표현식 삽입

f-string은 중괄호 {} 안에 표현식을 직접 삽입할 수 있습니다.

a = 5 
b = 3 
print(f"The sum of {a} and {b} is {a + b}.") 

출력: 
The sum of 5 and 3 is 8.

서식 지정

f-string은 포매팅 옵션(예: 소수점 자리수, 정렬 등)을 지원합니다.

pi = 3.14159 
print(f"Pi rounded to 2 decimal places: {pi:.2f}") 

출력: 
Pi rounded to 2 decimal places: 3.14

format() 메서드

.format은 Python 3.0 이상에서 사용할 수 있는 문자열 포매팅 방식입니다. 문자열 내부에서 중괄호 {}를 사용하고, .format() 메서드를 호출하여 값을 삽입합니다.

특징

    • f-string보다 약간 덜 직관적이고 코드가 길어질 수 있음.
    • Python 2.x와의 호환성이 필요할 때 유용.
    • 변수의 순서를 지정하거나 재사용 가능.

name = "Alice" 
age = 25 
print("My name is {} and I am {} years old.".format(name, age)) 

출력: 
My name is Alice and I am 25 years old.

위치 지정

중괄호 {} 안에 위치 인덱스를 넣어 값을 삽입할 수 있습니다.

print("{0} is {1} years old.".format("Alice", 30)) 
print("{1} is {0} years old.".format(30, "Alice")) 

출력: 
Alice is 30 years old. 
Alice is 30 years old.

키워드 인자

변수를 키워드 인자로 전달하여 가독성을 높일 수 있습니다.

 
print("My name is {name} and I am {age} years old.".format(name="Alice", age=30)) 

출력: 
My name is Alice and I am 30 years old.

서식 지정

.format에서도 서식 지정을 지원합니다.

pi = 3.14159 
print("Pi rounded to 2 decimal places: {:.2f}".format(pi)) 

출력: 
Pi rounded to 2 decimal places: 3.14

1.5. 줄바꿈 없이 출력

줄바꿈 없이 출력하려면 end=''를 사용합니다.

for i in range(5): 
    print(i, end=" ") 

출력: 
0 1 2 3 4

1.6. 파일로 출력

file 매개변수를 사용하여 출력 내용을 파일에 저장할 수 있습니다.

with open('output.txt', 'w') as f: 
    print("This is written to a file.", file=f) 

output.txt 내용: 
This is written to a file.

1.7. 유니코드 출력

Python의 print()는 유니코드를 지원합니다.

print("안녕하세요!") # 한글 
print("こんにちは!") # 일본어 
print("😊🌟") # 이모지 

출력: 
안녕하세요! 
こんにちは! 
😊🌟

1.8. 버퍼 플러시

flush=True를 사용하면 출력 버퍼를 강제로 비웁니다.

import time 
for i in range(3): 
    print(i, end=" ", flush=True) 
    time.sleep(1) 

출력(1초 간격으로): 
0 1 2

 

 

1.9. 에러 메시지 출력 (sys.stderr)

file=sys.stderr를 사용하면 에러 메시지를 표준 에러 스트림으로 출력할 수 있습니다.

import sys
print("This is an error message.", file=sys.stderr)

출력(에러 스트림으로 출력):
This is an error message.

1.10. print()와 디버깅

print()는 디버깅에도 유용하게 사용됩니다. 변수의 값을 출력하거나 프로그램 흐름을 추적할 때 활용할 수 있습니다.

x = 10
y = 20
print(f"x: {x}, y: {y}, sum: {x + y}")

출력:
x: 10, y: 20, sum: 30

 

 

2. 예제

 

Ex. 1. 화면에 Hello World 문자열을 출력하세요.

print("Hello World")
print('Hello World')

출력:
Hello World
Hello World

print는 정수, 실수, 문자열 등을 화면에 출력합니다. 문자열은 큰따옴표 또는 작은따옴표로 표현 가능합니다.

Ex. 2. 화면에 Mary's cosmetics을 출력하세요. (중간에 '가 있음)

print("Mary's cosmetics")

출력:
Mary's cosmetics

Ex. 3. 화면에 아래 문장을 출력하세요. (중간에 "가 있음)

신씨가 소리질렀다. "도둑이야".

print('신씨가 소리질렀다. "도둑이야".')

출력:
신씨가 소리질렀다. "도둑이야".

표현하고 싶은 문자열에 큰따옴표가 포함되어 있습니다. 따라서 작은따옴표로 문자열을 만들어주면 됩니다.

Ex. 4. 화면에 C:\Windows를 출력하세요.

역슬래시(\\)를 출력하는 방법중 하나는 2개를 연속으로 쓰는 방법이 있습니다.

print("C:\\Windows")

출력 :
C:\Windows

다른 방법으로는 Raw(r)을 문자열앞에 적으면 이스케이프 처리가 무시되고, 문자열 그대로 출력됩니다.

print(r"C:\Windows")

출력 :
C:\Windows

Ex. 5. 다음 코드를 실행해보고 \t와 \n의 역할을 설명해보세요.

print("안녕하세요.\n만나서\t\t반갑습니다.")

출력 :
안녕하세요.
만나서 반갑습니다.

`\n'`은 줄바꿈을 의미하며, `\t`는 탭을 의미합니다.

 

Ex. 6. print 함수에 두 개의 단어를 입력한 예제입니다. 아래 코드의 출력 결과를 예상해봅시다.

print ("오늘은", "일요일")

출력 :
오늘은 일요일

콤마(,)는 공백으로 처리되고 문자열은 연속으로 출력됩니다.

 

Ex. 7. print() 함수를 사용하여 다음과 같이 출력하세요.

naver;kakao;sk;samsung

print("naver;kakao;sk;samsung")

출력:
naver;kakao;sk;samsung
print("naver", "kakao", "sk", "samsung", sep=";")

출력:
naver;kakao;sk;samsung

문자열을 여러개 출력하면서 구분자를 정해주기 위해서는 sep=를 이용하면 됩니다.

 

Ex. 8. print() 함수를 사용하여 다음과 같이 출력하세요.

naver/kakao/sk/samsung

print("naver", "kakao", "sk", "samsung", sep="/")

출력:
naver/kakao/sk/samsung

sep=를 이용하면 됩니다.

 

Ex. 9. 다음 코드를 수정하여 줄바꿈이 없이 출력하세요.

(힌트: end='') print 함수는 두 번 사용합니다. 세미콜론 (;)은 한줄에 여러 개의 명령을 작성하기 위해 사용합니다.

print("first");print("second")
print("first", end=""); print("second")

출력
first
second

기본적으로 print는 출력한 뒤 자동으로 줄바꿈을 추가합니다.

이는 end 매개변수의 기본값이 "\n"로 설정되어 있기 때문입니다.

"\n"을 삭제해버리면 줄바꿈이 되지 않습니다.

Ex. 10. 5/3의 결과를 화면에 출력하세요.

print(5/3)

출력
1.6666666666666667

도움이 되셨으면 좋겠네요.

 

다른 강좌도 참고하시면 좋을 것 같습니다. 각 강좌의 Link는 아래를 참고하시기 바랍니다.

 

Python 강좌 01 - print()

 

Python 강좌 02 - 변수

 

Python 강좌 03 - 문자열

 

Python 강좌 04 - List

 

Python 강좌 05 - Tuple

 

Python 강좌 06 - Dictionary

 

Python 강좌 07 - 분기문

 

Python 강좌 08 - 반복문

 

Python 강좌 09 - 함수

 

Python 강좌 10 - Module

 

Python 강좌 11 - Class

 

Python 강좌 12 - File & Exception

728x90