개발자 뺚

[Python] print() 함수 본문

Information/Python

[Python] print() 함수

2023. 7. 15. 23:00
print(String)

# example
print("Hello World")

가장 기본적인 print() 함수의 사용이다. 출력할 문자열 또는 출력할 내용을 담은 변수를 매개변수로 전달한다.

 

print(string1, string2)
print(string1 + string2)
print(string * 2)

# example
print("Hello", "World!")
print("Hello" + "World!")
print("Hello World!" * 2)

# terminal
Hello World!
HelloWorld!
Hello World!Hello World!

하나의 print() 함수 내에서 여러 문자열을 출력하는 방법에는 두가지가 있다. 첫번째로는 쉼표(,)를 이용하여 두번째로는 덧셈 연산자(+)를 이용하여 여러 문자열을 매개변수로 전달하는 것이다. 두 방법에는 차이가 있는데 쉼표(,)를 이용하면 두 문자열 사이에 공백이 생기게 된다. 반면 덧셈 연산자(+)는 문자열 사이에 공백 없이 연결된다. 또한 곱셈 연산자(*)를 이용하여 문자열에 정수를 곱하게 되면 해당 횟수만큼 반복되어 출력된다. 다만 0 이하의 정수를 곱하게 되면 해당 문자는 없어지게 된다.

이러한 차이가 생기는 이유는 쉼표(,)를 이용하는 방법은 여러 개의 문자열 각각을 print() 함수의 매개변수로서 전달하는 것이고 덧셈 연산자(+) 또는 곱셈 연산자(*)는 여러 문자열을 붙여 하나의 문자열을 만든 뒤 이를 print() 함수의 매개변수로서 전달하는 것이기 때문이다.

 

print(string, end = end_string)

# example
print("Hello!")
print("Hello", end = "")
print("!")
print("Hello", end = "!")
print("\n")
print("", end = "Hello!")

# terminal
Hello!
Hello!
Hello!
Hello!

위의 하나의 print() 함수 내에서 여러 문자열을 출력하는 코드의 예시와 그 출력을 보면 print() 함수는 출력할 내용을 모두 출력한 뒤 줄바꿈을 하는 것을 확인할 수 있다. 이는 print() 함수의 매개변수로 출력할 내용의 마지막에 출력할 내용을 전달할 수 있는데 그 default 값이 줄바꿈으로 설정되어 있기 때문이다. 위의 end_string에 마지막에 출력할 내용을 입력하여 print() 함수를 사용하면 줄바꿈대신 다른 내용이 출력되도록 할 수 있다. 추가적인 내용의 출력도 줄바꿈도 하고싶지 않다면 end_string을 ""으로 사용하면 된다.

 

print('"str"')
print("'str'")

print('\'str\'')
print("\"str\"")

# example
print('number "1"')
print("number '2'")
print("number \"3\"")
print('number \'4\'')

# terminal
number "1"
number '2'
number "3"
number '4'

문자열을 감싸는 따옴표 또는 쌍따옴표 내부에 따옴표 또는 쌍따옴표를 사용하기 위해서는 위의 예시와 같이 사용하면 된다. 내부에 따옴표를 사용한다면 외부에 쌍따옴표를 내부에 쌍따옴표를 사용한다면 외부에 따옴표를 사용하면 된다. 하지만 쌍따옴표만 또는 따옴표만 사용하고 싶다면 내부에서 사용하는 따옴표 또는 쌍따옴표 앞에 역슬래시를 쓰면 된다.

 

print("""
string1
string2
""")

print('\
string1\
string2\
')

# example
print("""
name : bbyakk
age : unknown
""")

print('\
New Jeans - \
Hype boy\
')

# terminal
name : bbyakk
age : unknown
New Jeans - Hype boy

줄바꿈 이스케이프 문자(\n)를 사용하지 않고도 print() 함수 내부에서 위와 같이 따옴표를 3개를 사용하여 줄바꿈을 여러번 하는 것처럼 사용할 수 있다. 문자열이 길어져 코드를 작성할 때 print() 함수 내부의 내용을 줄바꿈하여 정리하고 싶은데 출력시에는 줄바꿈이 되는 것을 원하지 않는다면 위와 같이 print() 함수 내부에서 줄바꿈을 할 때마다 역슬래시를 사용하면 된다. 출력 결과를 보면 쌍따옴표를 3개 사용한 print() 함수는 출력시에 각 줄이 줄바꿈이 되서 출력되고 역슬래시를 사용하면 줄바꿈이 되지 않고 출력된다.

 

print("string1 {} string2".format(variable))

print("{}, {}, {}".format(variable1, variable2, variable3))

# example
fruit = "banana"
print("I like {}, because it is delicious".format(fruit))

number1 = 1
number2 = 2
number3 = 3
print("{} and {} and {}".format(number1, number2, number3))

print("{2} and {1} and {0}".format(number1, number2, number3))

# terminal
I like banana, because it is delicious
1 and 2 and 3
3 and 2 and 1

print() 함수 내부에서 변수를 포함하여 문자열을 만들고 싶다면 위와 같이 format() 함수를 쓰면 된다. 위의 예시들을 보면 문자열에 넣을 변수의 위치에 {}을 작성하고 문자열을 마친 뒤 format() 함수의 매개변수로 앞의 {}부터 넣을 변수를 입력하면 된다. 만약 위의 세번째 예시처럼 {} 내부에 정수를 입력하게 되면 format() 함수의 매개변수로 전달된 여러 변수들을 인덱싱할 수 있다.

 

print("{:d}".format(variable))
print("{:10d}".format(variable))
print("{:010d}".format(variable))
print("{:+10d}".format(variable))
print("{:=+10d}".format(variable))
print("{:f}".format(variable))
print("{:10.5f}".format(variable))
print("{:010.5f}".format(variable))
print("{:+10.5f}".format(variable))
print("{:=+10.5f}".format(variable))

# example
hundred = 100
print("{:d}".format(hundred))
print("{:10d}".format(hundred))
print("{:010d}".format(hundred))
print("{:+10d}".format(hundred))
print("{:=+10d}".format(hundred))

pi = 3.141592
print("{:f}".format(pi))
print("{:10.2f}".format(pi))
print("{:010.3f}".format(pi))
print("{:+10.4f}".format(pi))
print("{:=+10.5f}".format(pi))

# teminal
100
       100
0000000100
      +100
+      100
3.141592
      3.14
000003.142
   +3.1416
+  3.14159

print() 함수 내부에서 format() 함수를 사용할 때, {} 내부에 형식지정자를 사용하여 변수의 내용이 출력될 때의 출력 형식을 지정할 수 있다. :d는 정수 형식으로 출력하는 것을 :f는 소수 형식으로 출력하는 것을 의미한다. :와 형식 지정자 사이에 숫자는 해당 변수를 출력할 때 자릿수를 의미한다. 자릿수가 출력할 내용보다 클 때 default 값으로 우측 정렬이 된다. 소수의 경우는 숫자1.숫자2로 소수의 자릿수를 표시하는데 숫자1는 숫자의 총 자릿수 그리고 숫자2는 소수부의 자릿수를 의미한다. 정수부의 자릿수는 숫자1 - 숫자2로 계산할 수 있다. :와 자릿수 사이에 0은 자릿수가 출력할 내용보다 클 때 남은 자리를 0으로 채우는 것을 의미한다. :와 0 사이에 +는 부호의 표시를 의미한다. :와 + 사이에 =은 부호의 좌측 정렬을 의미한다.