파이썬 - 서식지정자란?
파이썬 서식 지정자와 f-string의 차이
파이썬에서 데이터를 출력할 때 서식 지정자(format specifier)는 매우 유용한 도구입니다. 초보자들도 쉽게 사용할 수 있는 이 기능은 텍스트, 숫자, 날짜 등을 특정 형식으로 변환하여 출력할 수 있게 해줍니다. 특히, 다른 프로그래밍 언어에서는 서식 지정자가 여전히 중요한 역할을 하고 있습니다. 여기서는 파이썬의 서식 지정자와 최근 많이 사용되는 f-string을 비교하고, 실무에서 어떻게 활용되는지 알아보겠습니다.
서식 지정자의 기본 개념
서식 지정자는 데이터를 특정 형식으로 출력할 수 있게 해주는 기능입니다. 파이썬에서는 % 연산자를 사용하여 서식을 지정할 수 있습니다. 이는 C 언어의 printf와 유사한 방식으로, 문자열 내에 %와 서식 지정을 위한 문자를 사용하여 데이터를 삽입합니다. 서식 지정자는 텍스트 뿐만 아니라 숫자, 날짜 등 다양한 데이터 타입에 활용될 수 있으며, 실무에서는 데이터의 가독성을 높이기 위해 자주 사용됩니다.
초급 단계: 서식 지정자 기초
서식 지정자의 기본 사용
여기서는 파이썬에서 서식 지정자를 사용하는 가장 단순한 방법을 알아보겠습니다.
name = "Alice"
age = 30
print("%s은(는) %d살입니다." % (name, age))실행 결과
Alice은(는) 30살입니다.위 코드에서는 문자열 "%s은(는) %d살입니다." 안에 %s와 %d를 사용하여 각각 문자열과 정수를 삽입합니다. %s는 문자열을, %d는 정수를 의미합니다. 'name'과 'age' 변수의 값을 대입하여 출력할 수 있습니다. 이와 같은 방식은 간단하고 직관적이어서 초보자들이 서식 지정자를 익히는 데 유용합니다.
조건문과 반복문 활용
이번에는 서식 지정자를 조건문과 반복문과 함께 사용하는 예제를 살펴보겠습니다.
scores = [85, 90, 78]
for i, score in enumerate(scores):
print("학생 %d의 점수는 %d입니다." % (i + 1, score))실행 결과
학생 1의 점수는 85입니다.
학생 2의 점수는 90입니다.
학생 3의 점수는 78입니다.이 코드는 리스트 'scores'의 각 요소를 순회하며 각 학생의 점수를 출력합니다. enumerate 함수를 사용하여 인덱스와 값을 함께 받아와 서식 지정자를 통해 출력합니다. %d 서식 지정자는 정수형 데이터를 적절히 포맷팅하여 출력합니다.
중급 단계: 실용적인 서식 지정 프로그램
텍스트 포매팅을 통한 보고서 생성
다음 예제는 입력과 출력을 통해 간단한 보고서를 생성하는 프로그램입니다.
title = "2023년 성적 보고서"
scores = {
"국어": 88,
"수학": 95,
"영어": 78
}
print("%s\n" % title)
for subject, score in scores.items():
print("%s: %d점" % (subject, score))실행 결과
2023년 성적 보고서
국어: 88점
수학: 95점
영어: 78점여기서는 %s와 %d를 사용하여 보고서 제목과 각 과목의 점수를 출력합니다. 딕셔너리를 사용해 각 과목의 이름과 점수를 저장하고, items() 메소드를 통해 이들을 순회하며 서식 지정자를 활용합니다.
온도 변환 프로그램
다른 실용적 프로그램으로 섭씨를 화씨로 변환하는 프로그램이 있습니다.
celsius = 37
fahrenheit = (celsius * 9/5) + 32
print("섭씨 %d도는 화씨 %.2f도입니다." % (celsius, fahrenheit))실행 결과
섭씨 37도는 화씨 98.60도입니다.이 프로그램은 섭씨 온도를 화씨로 변환하여 출력합니다. %.2f 서식 지정자는 부동소수점 수를 소수점 두 자리까지 표시합니다. 이를 통해 숫자를 보다 정확하게 포맷팅할 수 있습니다.
자주 하는 실수
# 잘못된 코드
name = "Alice"
print("안녕하세요, %s") # %s에 변수 미지정
# 올바른 코드
name = "Alice"
print("안녕하세요, %s" % name)실행 결과
안녕하세요, %s
안녕하세요, Alice위 예제는 서식 지정자 사용 시 변수를 지정하지 않아 발생하는 실수를 보여줍니다. 마지막 줄의 % name을 통해 서식 지정자에 값을 전달해야 합니다.
상급 단계: 함수와 클래스에서의 서식 지정
함수를 이용한 서식 지정자 활용
이제 함수로 서식 지정자를 활용하는 방법을 알아보겠습니다.
def print_score(name, score):
print("%s의 점수는 %d입니다." % (name, score))
print_score("Bob", 92)실행 결과
Bob의 점수는 92입니다.함수를 사용하면 코드의 재사용성과 가독성을 높일 수 있습니다. 이 함수는 이름과 점수를 입력받아 서식 지정자를 통해 출력합니다.
클래스를 활용한 포매팅
클래스를 사용하여 더욱 구조화된 데이터 출력을 구현할 수 있습니다.
class Student:
def __init__(self, name, score):
self.name = name
self.score = score
def display(self):
print("%s의 점수는 %d입니다." % (self.name, self.score))
student1 = Student("Charlie", 87)
student1.display()실행 결과
Charlie의 점수는 87입니다.Student 클래스는 학생의 이름과 점수를 속성으로 가지고 있으며, display 메소드를 통해 서식 지정자를 사용하여 출력합니다. 클래스를 활용하면 객체 지향적으로 데이터를 관리할 수 있습니다.
f-string을 이용한 상급 예제
마지막으로, f-string을 사용하여 더욱 간결하고 효율적인 코드 작성을 알아봅니다.
name = "Dave"
score = 99
print(f"{name}의 점수는 {score}입니다.")실행 결과
Dave의 점수는 99입니다.f-string은 최근 파이썬에서 도입된 기능으로, 변수명을 직접 문자열 안에 삽입하여 보다 읽기 쉬운 코드를 작성할 수 있게 해줍니다. 이는 서식 지정자와 달리 변수명을 직접 사용할 수 있어 가독성이 높아집니다.
요약
파이썬의 서식 지정자와 f-string은 데이터를 원하는 형식으로 변환하여 출력할 수 있는 강력한 도구입니다. 초급 단계에서는 서식 지정자의 기초를 다지고, 중급 단계에서는 실용적인 프로그램을 작성하며, 상급 단계에서는 함수를 활용하여 코드를 더욱 구조화합니다. f-string은 특히 가독성이 뛰어나 실무에서 자주 사용되는 방법입니다.
#파이썬서식지정자 #PythonFormatting #fstring #데이터출력 #문자열포매팅 #초보자코딩 #함수와클래스 #코딩팁 #개발자팁 #실무코딩