[Python] print()시 문자열을 특정 패턴으로 출력하기

Jung Wish·2021년 1월 12일
0

Python

목록 보기
1/1
post-thumbnail

[Python] print()시 문자열을 특정 패턴으로 출력하기

어땔 때 유용한가 ? 🐰💡

문자열을 출력할 때, 원하는 변수를 이용해서 반복적으로 출력해야 하는 상황이 생길 수 있습니다. 저의 경우는 코딩테스트 문제에서 특정 요건대로 변수를 출력하기 위해 문자열을 출력하는 방법을 많이 익히려고 하는 편입니다.

문자열을 출력하는 여러가지 방법 🐰❗️

특정 문자열이 담긴 배열을 예시로 방법에 대해 설명해보겠습니다.

example = ["Apple", "Banana", "Kiwi", "Lemon"]

print를 통해 "이 과일은 [ 00 ]입니다"이라는 문장을 출력하고 00안에는 example의 배열 원소를 넣어 보겠습니다.

string + 연산

  • string은 + 를 통해 string을 이어붙이는 연산을 할 수 있습니다. 다른 언어와 다르게 간편하게 문자열 연산을 할 수 있어 구현에 있어 파이썬이 가진 큰 장점이라고 생각합니다.

example 🔍

# string의 + 연산을 통해 특정 문자열을 출력합니다.
for fruit in example:
	print("이 과일은 [ "+fruit+" ]입니다.")

print()의 기본 출력 sep 이용하기

  • print() 함수 내부의 sep라는 값에는 기본적으로 " "가 들어있기 때문에 print에 넣어준 모든 인자값을 " "를 기준으로 한줄에 나열하여 출력하여 준다는 특징이 있습니다.
  • 많은 양의 데이터를 출력하게 된다면 다소 비효율적이지만 sep 값을 조정하여 출력할 수 있다는 점을 알아두면 굉장히 유용합니다.

example 🔍

# print 내장함수의 특징을 이용해 특정 문자열을 출력합니다.
for fruit in example:
	print("이 과일은 [", fruit, "]입니다.")
# 위의 예시의 문장을 출력하는 것은 아니지만, sep를 조정하는 예제를 들어보겠습니다.
# 아래 코드는 example 배열 요소를 한줄 씩 출력합니다.
print(example[0], example[1], example[2], example[3], sep='\n')

문자열 포맷팅하기

  • 문자열을 포맷팅하는 것은 다른 언어에서도 비슷한 사용법을 취합니다. 제가 느끼기에는 C와 가장 유사해보입니다. 파이썬을 C로 만들어서 그런가봅니다. 아래는 포맷팅에 대입해 넣는 변수에 따른 문자열 포맷 코드입니다.

C

printf("this number is %d", 25) // this number is 25

Python

print("this number is %d" % 25) # this number is 25
  • 이밖에도 정렬 및 공백 채우기, 소수점 자릿 수 표현하기에도 활용할 수 있습니다. 이 경우도 C와 매우 유사한 형태를 취합니다.
import math
# 정렬 및 공백 채우기
print("%10s" % right)
print("%-10s" % left)
# 소수점 자릿 수 표현
# 3.4 = . 이전의 수 표시 제한(3자리), 이후의 표시제한(4자리)
print("pi: %3.4f" % math.pi)

example 🔍

# 문자열 포맷팅을 이용해 특정 문자열을 출력합니다.
for fruit in example:
	print("이 과일은 [ %s ]입니다." % fruit)

format() 함수 이용한 포맷팅하기

  • string의 format 함수를 이용하면 위의 포맷팅 과정을 조금 더 단순하게 끝낼 수 있습니다. 특정 문자열의 입력 없이{}안에 다양한 변수를 넣을 수 있기 때문입니다. 코드를 깔끔하게 작성하고 싶을 때 알아두면 좋을 것 같습니다.

example 🔍

# format 함수를 이용해 특정 문자열을 출력합니다.
for fruit in example:
	print("이 과일은 [ {} ]입니다.".format(fruit))

f 문자열 포맷팅 이용하기(ver 3.6 이상)

  • 파이썬 3.6 이상부터 사용할 수 있다고 합니다.
  • 현재까지 다룬 포맷팅 내용을 f{}만을 이용하면 구현할 수 있어 매우 깔끔하게 코드를 작성할 수 있을 것 같습니다.

example 🔍

# f 포맷팅을 이용해 특정 문자열을 출력합니다.
for fruit in example:
	print(f"이 과일은 [ {fruit} ]입니다.")

Reference

profile
Frontend Developer, 올라운더가 되고싶은 잡부 개발자, ISTP, 겉촉속바 인간, 블로그 주제 찾아다니는 사람

0개의 댓글